Lioncash
cb4293adf1
core: Add missing #pragma once directives where applicable
9 years ago
Lioncash
8e6bf2478f
act: Fix docstring typo
These aren't the AM services.
9 years ago
mailwl
c7a28acce4
Service/CECD: Add cecd:ndm service
9 years ago
Subv
3e80a1a1c1
Fixed the codestyle to match our clang-format rules.
9 years ago
mailwl
11e9681df2
Service/ACT: move ACT services to folder
9 years ago
JamePeng
7af1081bb0
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
9 years ago
mailwl
a88468d683
csnd:SND reformat source code
9 years ago
mailwl
e3828ed7fa
APT::GetStartupArgument: force clear startup argument
9 years ago
Lioncash
b0ebdfae34
Add all services to the Service namespace
Previously there was a split where some of the services were in the
Service namespace and others were not.
9 years ago
Subv
6df6ad46c4
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
9 years ago
Subv
79f53e6daa
Kernel/IPC: Small codestyle cleanup
9 years ago
Lioncash
fd2837ad16
service: Add cfg:nor service
9 years ago
Lioncash
508f17b87c
ptm: Use boolean instead of integral value
The third parameter of Write is actually a bool type, not an int.
9 years ago
Lioncash
51f6cd48ba
service: Drop '_Interface' from cfg service names
9 years ago
Subv
17d8d69c6e
Added a framework for partially handling Session disconnections.
Further implementation will happen in a future commit.
Fixes a regression.
9 years ago
Subv
021e732815
Use std::move where appropriate.
9 years ago
Lioncash
e7d396142a
service: Add the ptm:s service
3dbrew documents this as being the exact same as ptm:sysm
9 years ago
Lioncash
9becdeada9
service: Add common ptm:u commands to other ptm services
3dbrew indicates that all services have access to these commands
except for ptm:sets.
9 years ago
Lioncash
aa096138bd
service: Drop '_Interface' in ptm service class names
Inheriting from Service::Interface makes this obvious.
9 years ago
Lioncash
0e025b7b4e
service: Add ptm::gets and ptm::sets services
9 years ago
Lioncash
c7a1fc1d0a
service: Add mvd and qtm services
Adds the two New3DS-only modules.
3dbrew was used for command information.
9 years ago
Lioncash
c74ecaaa85
service: Add nfc services
3dbrew was used for the command information.
9 years ago
Lioncash
2ab9afdb37
ssl_c: Update function table
Updated based off information from 3dbrew
9 years ago
Lioncash
80db6356ae
ptm: Update ptm_sysm function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
1a85727f71
pm_app: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
5caec2fcda
nwm_uds: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
0f53c14ca1
nim: Update function tables
Updated based off information from 3dbrew.
9 years ago
Lioncash
34401e8a9e
http_c: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
de5b0f4e25
gsp_lcd: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
b3b4017185
fs_user: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
7033aa361e
dlp_srvr: Update function table
9 years ago
Lioncash
f9c458cd04
cfg: Update function tables
Updated based off information from 3dbrew
9 years ago
Lioncash
bd088ae36b
cecd_u: Update function table
Updated based off information from 3dbrew.
9 years ago
Lioncash
4b7f949d77
boss_p: Update function table
9 years ago
Lioncash
7598d8532c
act: Update function tables
Updated based off information from 3dbrew.
9 years ago
Lioncash
523979a6ed
apt: Update apt function tables
Updated based off information from 3dbrew.
9 years ago
Lioncash
a8f59eab50
Update AM service function tables
Updated based off information from 3dbrew.
9 years ago
wwylele
a88ec032cd
Config: auto-select region and language
9 years ago
Subv
06b2b80d31
Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
9 years ago
Subv
7eaf6faa7d
HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
9 years ago
Subv
708ece3fff
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
977039e722
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
9 years ago
Yuri Kunde Schlesner
6fb4f73dec
GSP: Downgrade log severity of SetAxiConfigQoSMode
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
9 years ago
Subv
811d684274
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
9 years ago
Subv
4c4f50dfaf
Fixed the rebase mistakes.
9 years ago
Subv
4f2326c8a9
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
d2305d375f
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.
10 years ago
Subv
edcacd7cdd
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.
10 years ago
Subv
96df92e98f
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
10 years ago
Subv
302ef594a6
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.
10 years ago