summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* file_sys/romfs_factory: Eliminate usage of the global system accessorGravatar Lioncash2020-09-165-34/+49
|
* file_sys/bis_factory: Eliminate usage of the global system accessorGravatar Lioncash2020-09-165-11/+11
|
* loader/nso: Remove unnecessary [[maybe_unused]]Gravatar Lioncash2020-09-161-2/+1
|
* core/loader: Remove dependencies on the global system instanceGravatar Lioncash2020-09-1620-45/+85
| | | | | | | | | Now all that remains is: 18 instances in file_sys code 14 instances in GDB stub code (this can be tossed wholesale) 4 instances in HLE code 2 instances in settings code.
* Merge pull request #4658 from lioncash/copy3Gravatar Rodrigo Locatti2020-09-162-44/+43
|\ | | | | nca_patch: Reduce stack usage size within SearchBucketEntry()
| * nca_patch: Significantly reduce the stack usage size within SearchBucketEntry()Gravatar Lioncash2020-09-151-4/+4
| | | | | | | | | | | | | | | | | | Previously this function was using ~16KB of stack (16528 bytes), which was caused by the function arguments being taken by value rather than by reference. We can make this significantly lighter on the stack by taking them by reference.
| * nca_patch: Make SearchBucketEntry() internally linkedGravatar Lioncash2020-09-152-44/+43
| | | | | | | | | | This is only used internally and doesn't depend on any class state, so we can make it fully internal.
* | cheat_engine: Convert ExtractName into a non-template functionGravatar Lioncash2020-09-151-19/+17
| | | | | | | | | | | | We don't need to create two separate instantiations of the same code, we can simply make the character template argument a regular function parameter.
* | cheat_engine: Remove unnecessary system argument to CheatParser's Parse functionGravatar Lioncash2020-09-153-15/+9
|/ | | | | This isn't used within the function at all in any implementations, so we can remove it entirely.
* patch_manager: Resolve implicit truncations in FormatTitleVersion()Gravatar Lioncash2020-09-141-3/+4
| | | | | | We make it explicit that we're truncating arithmetic here to resolve compiler warnings (even if the sizes weren't u32/u64 arithmetic generally promotes to int :<)
* patch_manager: Make use of type aliasesGravatar Lioncash2020-09-142-69/+79
| | | | | We can use these to avoid typing the same type redundantly. This way, if these ever change, only a single location needs to be modified.
* patch_manager: Make a few functions internally linkedGravatar Lioncash2020-09-142-15/+12
| | | | | These functions are only used within this translation unit, so we can make them internally linked.
* crypto/key_manager: Remove dependency on the global system accessorGravatar Lioncash2020-09-142-5/+8
| | | | | We can supply the content provider as an argument instead of hardcoding a global accessor in the implementation.
* kernel: Remove all dependencies on the global system instanceGravatar Lioncash2020-09-145-11/+20
| | | | | With this, the kernel finally doesn't depend directly on the global system instance anymore.
* Merge pull request #4636 from lioncash/kernel-hleGravatar bunnei2020-09-143-7/+5
|\ | | | | service: Remove two usages of the global system accessor
| * service: Remove two usages of the global system accessorGravatar Lioncash2020-09-073-7/+5
| | | | | | | | Removes more instances of reliance on global state.
* | Merge pull request #4323 from ReinUsesLisp/no-spinGravatar bunnei2020-09-111-1/+1
|\ \ | | | | | | kernel/scheduler: Use std::mutex instead of spin lock
| * | kernel/scheduler: Use std::mutex instead of spin lockGravatar ReinUsesLisp2020-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #4634 from lioncash/blockingGravatar bunnei2020-09-113-19/+19
|\ \ \ | | | | | | | | bsd: Resolve a few warnings
| * | | bsd: Resolve unused value within SendToImplGravatar Lioncash2020-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | Previously the address provided to SendToImpl would never be propagated to SendTo(). This fixes that.
| * | | bsd: Resolve sign comparison warningsGravatar Lioncash2020-09-071-3/+3
| | | |
| * | | sockets_translate: Make use of designated initializersGravatar Lioncash2020-09-071-12/+12
| | | | | | | | | | | | | | | | Same behavior, less typing.
| * | | blocking_worker: Make use of templated lambdaGravatar Lioncash2020-09-071-3/+2
| | | | | | | | | | | | | | | | | | | | We can simplify this a little by explicitly specifying the typename for the lambda function.
| * | | blocking_worker: Resolve -Wdocumentation warningGravatar Lioncash2020-09-071-1/+1
| | |/ | |/|
* | | Merge pull request #4310 from ogniK5377/apollo-1-prodGravatar bunnei2020-09-111-72/+77
|\ \ \ | | | | | | | | audio_core: Apollo Part 1, AudioRenderer refactor
| * | | audio_core: Apollo Part 1, AudioRenderer refactorGravatar David Marcec2020-07-251-72/+77
| | | |
* | | | Merge pull request #4597 from Morph1984/mjolnir-p2Gravatar bunnei2020-09-109-131/+548
|\ \ \ \ | | | | | | | | | | Project Mjölnir: Part 2 - Controller Applet
| * | | | applets/controller: Resolve several compiler warningsGravatar Morph2020-09-041-1/+2
| | | | | | | | | | | | | | | | | | | | Resolves -Wsign-compare and -Wunused-variable
| * | | | Address feedbackGravatar Morph2020-09-043-0/+9
| | | | |
| * | | | applets/controller: Set min_players to have a minimum value of 1.Gravatar Morph2020-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | - Some games like Shipped have a minimum requirement of 0 connected players and is undesired behavior. We must require a minimum of 1 player connected regardless of what games may ask.
| * | | | applets/controller: Modify heuristic to account for certain gamesGravatar Morph2020-09-041-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now left and right joycons have the same priority (meaning both needs to be supported by the game). Explanation of the new heuristic: Assign left joycons to even player indices and right joycons to odd player indices. We do this since Captain Toad Treasure Tracker expects a left joycon for Player 1 and a right Joycon for Player 2 in 2 Player Assist mode.
| * | | | applets/controller: Implement fallback applet for the SDL frontendGravatar Morph2020-09-043-90/+34
| | | | | | | | | | | | | | | | | | | | Implement the fallback applet for the SDL frontend, connecting only the minimum amount of players required.
| * | | | applets/controller: Implement "Explain Text"Gravatar Morph2020-09-043-16/+29
| | | | | | | | | | | | | | | | | | | | "Explain Text" is additional text that is shown for each player in the controller applet.
| * | | | Project Mjölnir: Part 2 - Controller AppletGravatar Morph2020-09-049-42/+487
| | | | | | | | | | | | | | | | | | | | Co-authored-by: Its-Rei <kupfel@gmail.com>
* | | | | Merge pull request #4633 from ReinUsesLisp/gpu-initGravatar Rodrigo Locatti2020-09-101-1/+0
|\ \ \ \ \ | |_|_|/ / |/| | | | video_core: Remove all Core::System references in renderer
| * | | | video_core: Remove all Core::System references in rendererGravatar ReinUsesLisp2020-09-061-1/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the GPU is initialized when video backends are initialized, it's no longer needed to query components once the game is running: it can be done when yuzu is booting. This allows us to pass components between constructors and in the process remove all Core::System references in the video backend.
* | | | Merge pull request #4397 from ReinUsesLisp/bsdGravatar bunnei2020-09-0510-56/+1387
|\ \ \ \ | | | | | | | | | | services: Implement most of bsd:s and GetCurrentIpAddress from nifm
| * | | | service/bsd: Handle Poll with no entries accuratelyGravatar ReinUsesLisp2020-07-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Testing shows that Poll called with zero entries returns -1 and signals an errno of zero.
| * | | | services/bsd: Implement most of bsd:sGravatar ReinUsesLisp2020-07-285-55/+911
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | service/sockets: Add worker pool abstractionGravatar ReinUsesLisp2020-07-281-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | Manage worker threads with an easy to use abstraction. We can expand this to support thread deletion in the future.
| * | | | service/sockets: Add worker abstraction to execute blocking calls asynchronouslyGravatar ReinUsesLisp2020-07-282-0/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | service/sockets: Add translate functionsGravatar ReinUsesLisp2020-07-283-0/+215
| | | | | | | | | | | | | | | | | | | | | | | | | These functions translate from Network enumerations/structures to guest enumerations/structures and viceversa.
| * | | | service/sockets: Add enumerations and structuresGravatar ReinUsesLisp2020-07-282-0/+81
| | | | | | | | | | | | | | | | | | | | Add guest enumerations and structures used in socket services
| * | | | services/nifm: Implement GetCurrentIpAddressGravatar ReinUsesLisp2020-07-281-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is trivially implemented using the Network abstraction - Used by ftpd
* | | | | hid: Implement MergeSingleJoyasDualJoyGravatar Morph2020-09-043-5/+24
| |/ / / |/| | | | | | | | | | | - Used in multiple games such as Super Mario Odyssey.
* | | | Merge pull request #4590 from ReinUsesLisp/tsan-schedGravatar bunnei2020-09-031-2/+6
|\ \ \ \ | | | | | | | | | | hle/scheduler: Fix data race in is_context_switch_pending
| * | | | hle/scheduler: Fix data race in is_context_switch_pendingGravatar ReinUsesLisp2020-08-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported by tsan, SelectThreads could write to is_context_switch_pending holding a mutex while SwitchToCurrent reads it without holding any. It is assumed that the author didn't want an atomic here, so the code is reordered so that whenever is_context_switch_pending is read inside SwitchToContext, the mutex is locked.
* | | | | file_sys/patch_manager: Add missing includeGravatar ReinUsesLisp2020-09-031-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes build issues
* | | | | Merge pull request #4568 from lioncash/fspGravatar bunnei2020-09-021-3/+13
|\ \ \ \ \ | | | | | | | | | | | | fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem()
| * | | | | fsp_srv: Resolve -Wunused-but-set-variable warningGravatar Lioncash2020-08-231-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | We can just log out the parameters in the meantime.