aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_server_session.cpp
AgeCommit message (Collapse)Author
2024-02-19scope_exit: Make constexprFearlessTobi
Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
2023-12-24service: fetch objects from the client handle tableLiam
2023-12-22k_server_session: remove scratch buffer usage in favor of direct copyLiam
2023-12-22k_server_session: process for guest serversLiam
2023-12-10Merge pull request #12321 from liamwhite/ro2liamwhite
ro: add separate ro service
2023-12-09service: populate pid and handle table from clientLiam
2023-12-06kernel: implement remaining IPC syscallsLiam
2023-11-10kernel: add KPageTableBaseLiam
Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
2023-07-08k_server_session: translate special header for non-HLE requestsLiam
2023-03-23memory: rename global memory references to application memoryLiam
2023-03-12kernel: convert KThread to new styleLiam
2023-03-12kernel: prefer std::addressofLiam
2023-03-12kernel: remove kernel_Liam
2023-03-12kernel/svc: convert to new styleLiam
2023-03-12kernel: convert KPort, KSessionLiam
2023-03-01service: move hle_ipc from kernelLiam
2022-10-31kernel: invert session request handling flowLiam
2022-10-19kernel: remove most SessionRequestManager handling from KServerSessionLiam
2022-10-19kernel: add KSessionRequestLiam
2022-10-11k_server_session: preliminary support for userspace server sessionsLiam
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-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-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: k_server_session: Ensure SessionRequestManager is freed.bunnei
2022-03-14core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and ↵bunnei
SessionRequestManager.
2022-01-20hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.bunnei
- This does not appear to be necessary anymore.
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-12-06hle: kernel: KServerSession: Migrate to updated KThreadQueue.bunnei
2021-12-06hle: kernel: KThread: Remove tracking of sync object from threads.bunnei
2021-11-03core: Fix transitive include build errorsameerj
2021-11-03core: Remove unused includesameerj
2021-07-20hle: kernel: Track and release server sessions, and protect methods with locks.bunnei
2021-06-08hle: kernel: KServerSession: Work-around scenario where session is closed ↵bunnei
too early.
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: KServerSession: Use ASSERT_MSG where appropriate.bunnei
2021-06-06hle: kernel: k_server_session: Return service thread by strong pointer.bunnei
2021-06-06hle: kernel: k_server_session: Ensure service thread is valid before ↵bunnei
dereference.
2021-06-06hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.bunnei
- Fixes some crashes introduced by our common intrusive red/black tree impl.
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: Implement CloneCurrentObject and improve session management.bunnei
2021-05-10hle: service: Implement IPC::CommandType::Close.bunnei
- This was not actually closing sessions before.
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: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KClientPort to KAutoObject.bunnei