Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
8 years ago
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
8 years ago
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
8 years ago
Subv
f9bcf89510
Use std::move where appropriate.
8 years ago
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
9 years ago
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
9 years ago
Subv
009b15b3aa
A bit of a redesign.
...
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.
9 years ago
Subv
c5e7e0fa26
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
...
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
9 years ago
Subv
c19afd2118
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
...
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
9 years ago
Subv
073653e858
Kernel/IPC: Use Ports and Sessions as the fundamental building block of 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.
9 years ago
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
9 years ago
wwylele
1c9612b791
LDR: Implement CRO
9 years ago
Lioncash
64b6a7c006
service: Add other DLP services
...
Specifically, dlp::CLNT and dlp::FKCL
Moves them to their own folder like with other services.
9 years ago
András Domonkos
960297e577
Update ACT:U and create ACT:A ( #1809 )
...
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
9 years ago
bunnei
dccadce074
Merge pull request #1435 from mailwl/frd_u
...
frd:u: Initial stub some functions
9 years ago
exhalatio
bbdfbe44e6
Dummy implementation dlp:SRVR Service.
9 years ago
mailwl
81d988b022
frd:u: Initial stub some functions
9 years ago
JamePeng
dd0b8047eb
Reorganize the ndm service path for dummy implement function
...
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons
The NDM file move to /core/hle/service/ndm/ now!
9 years ago
archshift
84a88005e2
Change trace/unimplemented service call logs to use hex
...
Changes the log to use hex in the parameter list instead of decimal.
10 years ago
purpasmart96
7933dbe6a0
Services: Continue separation of services into their own folders
10 years ago
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
10 years ago
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
10 years ago
Yuri Kunde Schlesner
ad3e25b414
De-inline functions from Interface, removing them from service.h
...
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
10 years ago
purpasmart96
d6c9af600f
IR: Move The IR services to their own folder and implement "GetHandles"
10 years ago
purpasmart96
198c0ddc72
Services: Stubs and minor changes
10 years ago
Subv
83a8975cb8
Services: Moved the PTM and APT services to their own folder
...
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.
Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
10 years ago
Subv
cb3d254517
Services: Fixed "Tried to connect to named port err:f".
...
err:f is a named port, not a service
10 years ago
Yuri Kunde Schlesner
8779b31fe6
Make Port/Service registration and querying more HW-accurate
10 years ago
Subv
c2e9990149
Services: Stubbed more services.
...
Implemented FSUser::CreateExtSaveData
10 years ago
bunnei
92550013cf
Merge pull request #493 from archshift/ptmplay
...
Stubbed some services
10 years ago
archshift
1f109c6b49
Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx
10 years ago
archshift
a68dda6328
Stubbed cam:u service
10 years ago
archshift
7516ceaf93
Stubbed ptm:play service
10 years ago
Subv
cf071cd897
Services: Added some missing services.
...
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
10 years ago
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
10 years ago
Yuri Kunde Schlesner
a6ad68190f
Fix double-free in Service manager during shutdown
...
Fixes #423 .
10 years ago
archshift
48130b1eaa
Stub the y2r:u service
10 years ago
Yuri Kunde Schlesner
7e2903cb74
Kernel: New handle manager
...
This handle manager more closely mirrors the behaviour of the CTR-OS
one. In addition object ref-counts and support for DuplicateHandle have
been added.
Note that support for DuplicateHandle is still experimental, since parts
of the kernel still use Handles internally, which will likely cause
troubles if two different handles to the same object are used to e.g.
wait on a synchronization primitive.
10 years ago
Yuri Kunde Schlesner
73fba22c01
Rename ObjectPool to HandleTable
10 years ago
purpasmart96
9796bc1fa2
More services & small clean ups
10 years ago
Subv
6115f013a9
CFG: Create a new subfolder cfg inside service to handle cfg
...
Moved most of the shared CFG code there, implemented a few CFG:I functions
10 years ago
purpasmart96
ebfd831ccb
License change
10 years ago
bunnei
cd2a31eaf4
Merge pull request #283 from yuriks/archive-refactor
...
Archive refactor
11 years ago
Yuri Kunde Schlesner
ca67bb7945
HLE: Rename namespaces to match move & fix initialization order
11 years ago
Yuri Kunde Schlesner
c72ccfa6db
HLE: Move kernel/archive.* to service/fs/
11 years ago
archshift
89eef9eb6d
Added stub for nim:aoc service...
11 years ago
archshift
1356a6b313
Added stub for cecd:u service...
...
I couldn't find any information about this service...
11 years ago
archshift
6117fad036
Added stub for ldr:ro service...
11 years ago