aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2020-07-30fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttributeMorph
Stub these 2 service commands required for Animal Crossing: New Horizons Update 1.4.0
2020-07-30fs: Rename SaveDataDescriptor to SaveDataAttributeMorph
2020-07-28service/bsd: Handle Poll with no entries accuratelyReinUsesLisp
Testing shows that Poll called with zero entries returns -1 and signals an errno of zero.
2020-07-28services/bsd: Implement most of bsd:sReinUsesLisp
This implements: Socket, Poll, Accept, Bind, Connect, GetPeerName, GetSockName, Listen, Fcntl, SetSockOpt, Shutdown, Recv, RecvFrom, Send, SendTo, Write, and Close The implementation was done referencing: SwIPC, switchbrew, testing with libnx and inspecting its code, general information about bsd sockets online, and analysing official software. Not everything from these service calls is implemented, but everything that is not implemented will be logged in some way.
2020-07-28service/sockets: Add worker pool abstractionReinUsesLisp
Manage worker threads with an easy to use abstraction. We can expand this to support thread deletion in the future.
2020-07-28service/sockets: Add worker abstraction to execute blocking calls asynchronouslyReinUsesLisp
This abstraction allows executing blocking functions (like recvfrom on a socket configured for blocking) without blocking the service thread. It is intended to be used with SleepClientThread.
2020-07-28service/sockets: Add translate functionsReinUsesLisp
These functions translate from Network enumerations/structures to guest enumerations/structures and viceversa.
2020-07-28service/sockets: Add enumerations and structuresReinUsesLisp
Add guest enumerations and structures used in socket services
2020-07-28services/nifm: Implement GetCurrentIpAddressReinUsesLisp
This is trivially implemented using the Network abstraction - Used by ftpd
2020-07-27Update src/core/hle/service/nvdrv/devices/nvmap.cppbunnei
Co-authored-by: LC <mathew1800@gmail.com>
2020-07-27core_timing: Make use of uintptr_t to represent user_dataLioncash
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-27remove unused variable;CrazyMax
2020-07-26hle: nvdrv: Rewrite of GPU memory management.bunnei
2020-07-25nvflinger: Mark interface functions with return values as [[nodiscard]]Lioncash
Not using the return value of these functions are undeniably the source of a bug. This way we allow compilers to loudly make any future misuses evident.
2020-07-25nvflinger: Use return value of Lock()Lioncash
comex reported in #4424 that we were incorrectly discarding the return value of Lock() which is correct.
2020-07-25Merge pull request #4350 from ogniK5377/hid-update-connectedbunnei
hid: Only update keyboard & debug pad inputs if enabled
2020-07-25audio_core: Apollo Part 1, AudioRenderer refactorDavid Marcec
2020-07-21vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfoDavid Marcec
Needed for dark souls and monster hunter
2020-07-20Address issuesDavid Marcec
2020-07-19swkbd: Return result for Calc request for inlined swkbdDavid Marcec
Fixes random swkbd popups in monster hunter
2020-07-18Merge pull request #4348 from lioncash/nanobunnei
core_timing: Make usage of nanoseconds more consistent in the interface
2020-07-18Merge pull request #4345 from Morph1984/fix-createfilebunnei
filesystem: Create subdirectories prior to creating a file
2020-07-17Merge pull request #4365 from lioncash/miibunnei
mii/manager: Make use of designated initializers
2020-07-17Merge pull request #4366 from lioncash/mii-signbunnei
mii/manager: Resolve sign mismatch warnings
2020-07-17Merge pull request #4357 from lioncash/unused4David
kernel: Remove unused variables
2020-07-17Merge pull request #4358 from lioncash/unused5David
kernel/thread: Remove unimplemented function prototype
2020-07-16mii/manager: Resolve sign mismatch warningsLioncash
Previously the loop termination condition was testing variables of different signedness.
2020-07-16mii/manager: Make use of designated initializersLioncash
Allows returning the structure in a more concise manner.
2020-07-16Merge pull request #4292 from bunnei/mii-rewritebunnei
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-16Merge pull request #4327 from lioncash/desig2Rodrigo Locatti
address_space_info: Make use of designated initializers
2020-07-16kernel/thread: Remove unimplemented function prototypeLioncash
This isn't used, so it can be removed.
2020-07-16kernel: Remove unused variablesLioncash
Resolves some compiler warnings in the Linux build.
2020-07-16kernel: Add missing includeLioncash
2020-07-16cpu_manager: Mark function getters as staticLioncash
All these do are return std::function instances of static functions, so these can be used without an instance of the CPU manager.
2020-07-16Merge pull request #4346 from lioncash/threadDavid
kernel/handle_table: Remove usages of the global system instance
2020-07-16hid: Only update keyboard & debug pad inputs if enabledDavid Marcec
Previously we would ignore this setting and would update the states regardless of the user setting
2020-07-16Add comment to clarify the nullptr checkMorph
2020-07-16filesystem: Create subdirectories prior to creating a fileMorph
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within. This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
2020-07-15core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash
Enforces our desired time units directly with a concrete type.
2020-07-15core_timing: Make use of std::chrono with ScheduleEventLioncash
2020-07-15kernel/process: Move name and system context to the bottom of the member listLioncash
These aren't directly important or commonly used within the process, so we can move these to the bottom to allow everything else to be more likely to be within a cache line.
2020-07-15kernel/handle_table: Remove usages of the global system instanceLioncash
Removes even more usages of the global system instance, trimming away more dependencies on global variables and making them explicit in the interface.
2020-07-15kernel/thread: Remove global GetCurrentThread()Lioncash
This is only used in one place, so we can fold it into the calling code, eliminating a place for the global system instance to be used.
2020-07-13memory_layout: Remove unused data memberLioncash
This isn't used, so it can be removed entirely, shrinking the structure size by 8 bytes.
2020-07-13address_space_info: Use type alias to simplify codeLioncash
We can define an alias for the index arrays and then just reuse it to make the code nicer to read.
2020-07-13address_space_info: Make use of designated initializersLioncash
We can alter the structure so that we can use designated initializers in the array, eliminating the comments that indicate their field names.
2020-07-12kernel/scheduler: Use std::mutex instead of spin lockReinUsesLisp
Profiling shows that this is a highly contested mutex, causing dimishing results compared to a OS lock. std::mutex implementations can spin for a while before falling back to an OS lock. This avoids wasting precious CPU cycles in a no-op.
2020-07-12Merge pull request #4275 from CrazyMax/desired_languagebunnei
AM: fix GetDesiredLanguage:
2020-07-11hle: service: mii: Rewrite service to properly support creation of random ↵bunnei
and default miis.
2020-07-11Merge pull request #4203 from VolcaEM/servicesbunnei
service: Update function tables