aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/hle_ipc.cpp
AgeCommit message (Collapse)Author
2023-03-01service: move hle_ipc from kernelLiam
2023-02-21service: refactor server architectureLiam
Converts services to have their own processes
2023-02-03Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"ameerj
This reverts commit 25fc5c0e1158cb8e81cbc769b24ad84032a1fbfd, reversing changes made to af20e25081f97d55b451606c87922e2b49f0d363.
2023-02-02Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ↵liamwhite
ReadBuffer"
2022-12-28hle_ipc: Use thread_local ReadBufferameerj
2022-12-28hle_ipc: Rename ReadBufferSpan to ReadBufferameerj
2022-12-28hle_ipc: Rename ReadBuffer to ReadBufferCopyameerj
Indicates explicitly that a copy is occurring
2022-12-25service: Use ReadBufferSpan where it is trivial to do soameerj
2022-12-25hle_ipc: Add ReadBufferSpan functionameerj
Returns a std::span to the buffer address, rather than create a copy of the memory into a std::vector
2022-12-17Merge pull request #9452 from ameerj/hle-read-buffer-resreveliamwhite
hle_ipc: Refactor ReadBuffer to set buffer size upon initialization
2022-12-15hle_ipc: Refactor ReadBuffer to set buffer size upon initializationameerj
Initializing the vector size during initialization is more efficient than a later call to resize()
2022-12-15hle_ipc: Reserve vectors before populatingameerj
2022-11-06service_thread: fix deletionLiam
2022-10-31kernel: invert session request handling flowLiam
2022-10-19kernel: remove most SessionRequestManager handling from KServerSessionLiam
2022-07-22Project AndioKelebek1
2022-06-26core: Replace all instances of ResultCode with Resultgerman77
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-08hle: kernel: Unify and integrate reference tracking for ↵bunnei
KServerPort/KServerSession. - These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is ↵bunnei
expired rather than locking.
2022-04-02hle: service: Add option for service interfaces to create or use the default ↵bunnei
thread.
2022-03-19core: Reduce unused includesameerj
2022-03-14core: hle: kernel: Remove server session tracking.bunnei
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵bunnei
SessionRequestManager.
2021-11-03core: Remove unused includesameerj
2021-10-07kernel: hle_ipc: Foward declare KAutoObjectMorph
2021-07-20hle: kernel: Track and release server sessions, and protect methods with locks.bunnei
2021-06-09hle: kernel: KServerSession: Fix client disconnected.bunnei
- Prevents a cloned session's handler from being overwritten by another disconnected session. - Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-07hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.bunnei
2021-06-06hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.bunnei
2021-06-04hle: kernel: Refactor to allocate a ServiceThread per service handler.bunnei
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject. - This results in race conditions with N sessions queuing requests to the same service interface. - Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347.
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
Transition to PascalCase for result names.
2021-05-20hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.bunnei
2021-05-20hle: kernel: Implement CloneCurrentObject and improve session management.bunnei
2021-05-16hle_ipc: unsigned -> u32Morph
This is more concise and consistent with the rest of the codebase.
2021-05-16hle_ipc: Add a getter for PIDMorph
2021-05-11hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.bunnei
2021-05-10hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.bunnei
- Fixes our move handles implementation to actually move objects. - Simplifies the traditional IPC path.
2021-05-10hle: kernel: Further cleanup and add TIPC helpers.bunnei
2021-05-08kernel: Eliminate variable shadowingLioncash
Now that the large kernel refactor is merged, we can eliminate the remaining variable shadowing cases.
2021-05-05hle: kernel: Migrate to KHandleTable.bunnei
2021-05-05hle: kernel: Rename Process to KProcess.bunnei
2021-05-05hle: kernel: Remove deprecated Object class.bunnei
2021-05-05hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei
2021-05-05hle: kernel: HandleTable: Remove deprecated APIs.bunnei
2021-05-05hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei
KAutoObject.
2021-05-05hle: kernel: Migrate KSharedMemory to KAutoObject.bunnei
2021-05-05hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei
2021-05-05hle: kernel: Refactor out various KThread std::shared_ptr usage.bunnei
2021-04-15hle_ipc: Add helper functions to get copy/move handlesMorph