aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
AgeCommit message (Collapse)Author
2016-12-14Fixed the codestyle to match our clang-format rules.Subv
2016-12-09Moved the HLE command buffer translation task to ServerSession instead of ↵Subv
the HLE handler superclass.
2016-12-08Added a framework for partially handling Session disconnections.Subv
Further implementation will happen in a future commit. Fixes a regression.
2016-12-08Use std::move where appropriate.Subv
2016-12-05Return an error code when connecting to a saturated port.Subv
The error code was taken from the 3DS kernel.
2016-12-05Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, ↵Subv
TranslateRequest and HandleSyncRequestImpl. HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05Kernel: Remove the Redirection handle type.Subv
2016-12-05KServerPorts now have an HLE handler "template", which is inherited by all ↵Subv
ServerSessions created from it.
2016-12-02Declare empty ServerSession and ClientSession constructors as default.Subv
2016-11-30Fixed the rebase mistakes.Subv
2016-11-30A bit of a redesign.Subv
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.
2016-11-30IPC/HLE: Associate the ClientSessions with their parent port's HLE interface ↵Subv
if it exists. Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30Kernel/HLE: Service::Interface no longer inherits from any Kernel object, ↵Subv
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.
2016-11-30fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block ↵Subv
of Inter Process Communication.
2016-11-30 Kernel/IPC: Use Ports and Sessions as the fundamental building block of ↵Subv
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.
2016-11-27Merge pull request #2196 from Subv/system_modeYuri Kunde Schlesner
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-19Kernel/Loader: Grab the system mode from the NCCH ExHeader.Subv
3dsx and elf files default to system mode 2 (96MB allocated to the application). This allows Home Menu to boot without modifications. Closes #1849
2016-11-19Kernel/Events: Log an error when trying to create Pulse events and timers.Subv
Related to #1904
2016-10-20Fix typosRicardo de Almeida Gonzaga
2016-09-22move ResetType to kernel.hwwylele
2016-09-22implement wait tree widgetwwylele
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-09-15arm: ResetContext shouldn't be part of ARM_Interface.bunnei
2016-08-02fix #1942 and adds a few IPC functions for descriptorsLectem
2016-06-28Merge pull request #1869 from wwylele/dont-be-lazyYuri Kunde Schlesner
Switch context to the same thread if necessary
2016-06-28Merge pull request #1867 from mailwl/srv-updatebunnei
srv: Update according 3dbrew
2016-06-18Merge pull request #1877 from wwylele/wait-fix-timeoutbunnei
Thread: update timeout when reruning WaitSynch
2016-06-11Kernel/SVC: Implemented svcCreatePort.Subv
2016-06-05Kernel: Added ClientPort and ServerPort classes.Subv
This is part of an ongoing effort to implement support for multiple processes.
2016-06-04Thread: update timeout when rerunning WaitSynchwwylele
2016-05-31Fix parameter name in EnableNotificationmailwl
2016-05-30Switch context on the same thread if necessarywwylele
2016-05-29Merge pull request #1692 from Subv/rm_getpointer2bunnei
Memory: Remove most usages of GetPointer
2016-05-26Memory: Added necessary headers and removed unnecessary headerMerryMage
2016-05-21Kernel/Thread: Remove use of Memory::GetPointerMerryMage
2016-05-17Merge pull request #1800 from JayFoxRox/set-fpscrbunnei
Set fpscr for new threads
2016-05-17Set fpscr for new threadsJannik Vogel
2016-05-14Memory: Fixed a regression caused by #1695 and #1689.Subv
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much. Closes #1790
2016-05-13Merge pull request #1689 from Subv/shmembunnei
Kernel: Implemented shared memory.
2016-05-12Merge pull request #1695 from Subv/tls_allocbunnei
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12HLE/Applets: Give each applet its own block of heap memory, and use that ↵Subv
when creating the framebuffer shared memory block.
2016-05-12Kernel: Account for automatically-allocated shared memories in the amount of ↵Subv
used linear heap memory.
2016-05-12Kernel/SharedMemory: Log an error when Map fails.Subv
2016-05-12Kernel: Implemented shared memory permissions.Subv
2016-05-12Kernel/Memory: Remove the Shared Memory region from the legacy memory map.Subv
2016-05-12Kernel/SharedMemory: Properly implemented shared memory support.Subv
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object. Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock. Removed the APT Shared Font hack as it is no longer needed.
2016-05-12Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.Subv
R0 is used as the last parameter instead of R4.