| Age | Commit message (Collapse) | Author |
|
|
|
Remove ResultVal::MoveFrom
|
|
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
|
|
|
|
|
|
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
|
|
|
|
|
|
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
|
|
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
|
|
Also enhances the GetServiceHandle implementation to be more accurate.
|
|
This will contain the implementation of the sm (Service Manager) system
module.
|
|
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.
|
|
Service/AC: add ac:i service
|
|
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
|
|
|
|
|
|
Service/ACT: move ACT services to folder
|
|
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
|
|
|
|
|
|
Previously there was a split where some of the services were in the
Service namespace and others were not.
|
|
the HLE handler superclass.
|
|
|
|
Further implementation will happen in a future commit.
Fixes a regression.
|
|
|
|
Adds the two New3DS-only modules.
3dbrew was used for command information.
|
|
3dbrew was used for the command information.
|
|
TranslateRequest and HandleSyncRequestImpl.
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
|
|
ServerSessions created from it.
|
|
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.
|
|
if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
|
|
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.
|
|
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.
|
|
|
|
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
|
|
|
|
|
|
Specifically, dlp::CLNT and dlp::FKCL
Moves them to their own folder like with other services.
|
|
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
|
|
frd:u: Initial stub some functions
|
|
|
|
|
|
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons
The NDM file move to /core/hle/service/ndm/ now!
|
|
Changes the log to use hex in the parameter list instead of decimal.
|
|
|
|
|
|
|
|
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
|