aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/hle_ipc.h
AgeCommit message (Collapse)Author
2023-03-01service: move hle_ipc from kernelLiam
2023-02-21sm:: fix lingering session initialization issuesLiam
2023-02-21sm:: support service registration deferralLiam
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: Rename ReadBufferSpan to ReadBufferameerj
2022-12-28hle_ipc: Rename ReadBuffer to ReadBufferCopyameerj
Indicates explicitly that a copy is occurring
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-11-23hle_ipc: Add helper functions for getting number of buffer elementsLioncash
2022-11-23hle_ipc: Mark relevant member functions as [[nodiscard]]Lioncash
Will allow the compiler to complain about cases where ignoring the return value would be a bug.
2022-11-06service_thread: fix deletionLiam
2022-10-31kernel: invert session request handling flowLiam
2022-10-26concepts: Use the std::contiguous_iterator conceptMorph
This also covers std::span, which does not have a const iterator. Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-19kernel: remove most SessionRequestManager handling from KServerSessionLiam
2022-10-12kernel: remove KWritableEventLiam
2022-07-22Project AndioKelebek1
2022-06-26core: Replace all instances of ResultCode with Resultgerman77
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashLiam
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-02hle: service: Add option for service interfaces to create or use the default ↵bunnei
thread.
2022-03-14core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵bunnei
SessionRequestManager.
2022-01-20hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.bunnei
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting. - KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2021-10-07kernel: hle_ipc: Foward declare KAutoObjectMorph
2021-06-07hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.bunnei
2021-06-07hle: kernel: Remove service thread manager and use weak_ptr.bunnei
- We no longer need to queue up service threads to be destroyed. - Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
2021-06-06hle: kernel: k_server_session: Return service thread by strong pointer.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-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: 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-10hle: ipc_helpers: Update IPC response generation for TIPC.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: Refactor IPC interfaces to not use std::shared_ptr.bunnei
2021-05-05hle: kernel: Migrate more of KThread to KAutoObject.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
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei
2021-01-28hle: kernel: Recode implementation of KThread to be more accurate.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei