| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Removes unnecessary direct dependencies in some headers and also gets
rid of indirect dependencies that were being relied on to be included.
|
| |
|
|
|
|
|
|
| |
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
|
|
|
|
|
| |
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
|
| |
|
|
|
|
| |
Reduce the associated port's connection count when a ServerSession is destroyed.
|
| |
|
|
|
|
|
|
| |
Further implementation will happen in a future commit.
Fixes a regression.
|
| |
|
|
|
|
| |
The error code was taken from the 3DS kernel.
|
|
|
|
| |
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
|
|
|
|
| |
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
|
|
|
|
| |
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
|
| |
|
| |
|
|
This is part of an ongoing effort to implement support for multiple processes.
|