Subv
7cde5b83bc
Use boost remove_erase_if instead of the erase-remove idiom
9 years ago
Subv
1f286b72a1
Improved the algorithm for GetHighestPriorityReadyThread.
9 years ago
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
* implement frame limiter
* fixes
9 years ago
Subv
c93c5a72bb
Return an error code when connecting to a saturated port.
The error code was taken from the 3DS kernel.
9 years ago
Subv
61a2fe8c3b
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
Jannik Vogel
0aee903ada
gdbstub: Remove unused include
9 years ago
Jannik Vogel
45d941d62e
Support mingw cross-compile
9 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
29d809b6e1
Kernel: Remove the Redirection handle type.
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
bdad00c73f
Threading: Added some utility functions and const correctness.
9 years ago
Yuri Kunde Schlesner
efc8179747
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
8634b8cb83
Threading: Reworked the way our scheduler works.
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.
The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.
This new implementation is based off reverse-engineering of the real kernel.
See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
9 years ago
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
9 years ago
Subv
ed210c32b3
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
9 years ago
Subv
2eceee3a4c
Fixed the rebase mistakes.
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.
10 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.
10 years ago
Subv
0a33d915f8
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
10 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.
10 years ago
mailwl
5b136aa211
Set client SDK version to Service APIs
9 years ago
wwylele
589b642790
FileSys: Implement OtherSaveData
9 years ago
wwylele
b25f19ac26
FS: add missing MediaType
9 years ago
wwylele
5af117e00c
FileSys: abstract SD save data archive source
9 years ago
Subv
d171409f29
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
9 years ago
Emmanuel Gil Peyrot
0820c99462
GPU: Remove the broken frame_skip option.
Fixes #1960 .
9 years ago
MerryMage
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
9 years ago
mailwl
ec15e485c9
Output parameters to log
9 years ago
mailwl
d4cadf11fc
MIC_U: Stub service funcions
9 years ago
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
9 years ago
pippo2931
0c9c97e5ea
Bravely Default/Second stuck #1822 ( #2188 )
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub
* Log parameter.
* Taking care of comments
* Sync with 3DBrew
* White space ?
* lower case
9 years ago
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
9 years ago
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
Related to #1904
9 years ago
Subv
d7ab4fd53d
APT/Applets: Renamed the members of the SignalType enum.
Names now make sense and match 3dbrew.
9 years ago
wwylele
d7d6975af0
FileSys: rename SaveDataCheck archive to NCCH archive
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
9 years ago
wwylele
f775a3781b
FileSys: remove unused DiskArchive
All "subclasses" of DiskArchive are splitted out. This class is useless
9 years ago
wwylele
5c6e13a171
PTM & CFG: use the correct path and error code according to the new FileSys policy
9 years ago
wwylele
0647f86649
FileSys: w->rw permission lift only happens in SDMC archive
9 years ago
wwylele
0987783699
FileSys: add SDMCWriteOnlyArchive
9 years ago
wwylele
93aa14e345
FileSys: add SDMCArchive
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
9 years ago
wwylele
a879984c06
FileSys: add ExtSaveDataArchive
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
9 years ago
wwylele
7166fdc490
FileSys: add SaveDataArchive
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
9 years ago
wwylele
9a0405858a
FileSys: remove Open from FileBackend
Same as directory, file shouldn't expose Open either.
9 years ago
wwylele
0e754875d1
FileSys: remove Open from DirectoryBackend
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
9 years ago
wwylele
75ee2f8c67
FileSys: add PathParser
9 years ago
wwylele
dd5c15abd0
cfg: add config block 0x00090000
9 years ago
James Rowe
c3ea6f4ddb
Add mingw compile support
10 years ago
James Rowe
2b1654ad9b
Support additional screen layouts.
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
10 years ago
mailwl
af7f5bef8d
Style fix
9 years ago