aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/session.h
AgeCommit message (Collapse)Author
2021-05-05hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei
KAutoObject.
2021-01-28core: hle: kernel: object: Implement Finalize() virtual method.bunnei
2021-01-11core: hle: kernel: Update KSynchronizationObject.bunnei
2020-02-11Kernel: Refactor synchronization to better match REFernando Sahmkow
2020-02-11Kernel: Change WaitObject to Synchronization object. In order to better ↵Fernando Sahmkow
reflect RE.
2019-12-07kernel: Remove unnecessary includesLioncash
Over the course of the changes to the kernel code, a few includes are no longer necessary, particularly with the change over to std::shared_ptr from Boost's intrusive_ptr.
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-25kernel: Fix reference management for client/server session.bunnei
- Fixes shutdown crash and crash in Pokemon SwSh.
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2018-08-01kernel: Move object class to its own source filesLioncash
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
2018-01-20Format: Run the new clang format on everythingJames Rowe
2018-01-13yuzu: Update license text to be consistent across project.bunnei
2017-05-15Kernel: Use a Session object to keep track of the status of a Client/Server ↵Subv
session pair. Reduce the associated port's connection count when a ServerSession is destroyed.
2016-11-30 Kernel/IPC: Use Ports and Sessions as the fundamental building block of ↵Subv
Inter Process Communication. All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions. Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed. HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-08-02fix #1942 and adds a few IPC functions for descriptorsLectem
2016-05-31Fix parameter name in EnableNotificationmailwl
2016-03-21session: Make helper functions constexprLioncash
2015-06-28Common: Cleanup key_map includes.Emmanuel Gil Peyrot
2015-06-22Add helpers to create IPC command buffer headers and descriptorsYuri Kunde Schlesner
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner
memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory.
2015-05-10Core/Memory: Give every emulated thread it's own TLS area.Subv
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further.
2015-05-09Memory: Re-organize and rename memory area address constantsYuri Kunde Schlesner
2015-02-10Asserts: break/crash program, fit to style guide; log.h->assert.harchshift
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
2015-02-02Explicitly instantiate constructors/destructors for Kernel objectsYuri Kunde Schlesner
This should speed up compile times a bit, as well as enable more liberal use of forward declarations. (Due to SharedPtr not trying to emit the destructor anymore.)
2015-01-21Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.bunnei
2015-01-21WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" ↵bunnei
pure virtual.
2015-01-21Session: Change to a WaitObject.bunnei
2014-12-28Kernel: Replace GetStaticHandleType by HANDLE_TYPE constantsYuri Kunde Schlesner
2014-12-20License changepurpasmart96
2014-12-15Remove SyncRequest from K::Object and create a new K::Session typeYuri Kunde Schlesner
This is a first step at fixing the conceptual insanity that is our handling of service and IPC calls. For now, interfaces still directly derived from Session because we don't have the infrastructure to do it properly. (That is, Processes and scheduling them.)