Commit Graph

89 Commits

Author SHA1 Message Date
Lioncash
69a98dc0cb kernel/svc: Correct SVC instruction values for svcMapPhysicalMemory and svcUnmapPhysicalMemory
0x2A corresponds to svcFlushEntireDataCache, while 0x2B corresponds to
svcFlushDataCache.
2018-12-07 12:19:16 +01:00
Michael Scire
40bccd7838 Add svcTerminateDebugProcess 2018-12-06 13:18:06 +01:00
yellows8
68846af044 Removed alignment for object_ids in ipcParseDomainResponse, since official sw doesn't have this. 2018-11-28 16:37:33 -05:00
yellows8
5e69f760fb Added support for exception-handling. 2018-11-14 16:17:02 -05:00
fincs
ede79862fb Add threadGetCurHandle 2018-10-27 17:34:44 +02:00
tatehaga
b130d96445 barrier implementation using semaphores (#186) 2018-10-23 21:19:26 +02:00
Michael Scire
e942b9cc25 virtmem: Fix stack region mapping on 1.0.0 2018-10-22 22:34:11 +02:00
Michael Scire
40e0bf4db7 Refactor service IPC to support domains. 2018-10-16 17:56:39 -04:00
yellows8
c1b4b95bd7 Updated wiki URLs. 2018-10-11 21:44:51 -04:00
TuxSH
3bd7ca5f7e Reword ProcessState enum fields 2018-09-26 21:11:02 +02:00
TuxSH
3ecd841ec2 Update svcGetDebugThreadContext, add svcSetDebugThreadContext, implement threadDumpContext 2018-09-18 01:13:55 +02:00
TuxSH
5498d3e0c7 Add ThreadContext, RegisterGroup, svcGetThreadContext3, threadDumpContext 2018-09-18 01:13:55 +02:00
plutooo
4a13ee3e62 Fix function name to not cause linker problems due to symbol truncation issues 2018-09-15 08:42:32 +02:00
plutooo
7279ef0415 Fix signature of svcContinueDebugEvent for firmware 3.0.0 and forward 2018-09-15 08:14:09 +02:00
fincs
ad17cb74c7 kernel/ipc.h: add ipcCloneSession 2018-09-14 01:35:24 +02:00
Michael Scire
6ef26bff1a Implement kernelAbove600() 2018-09-09 19:55:12 +02:00
fincs
88e9d3bb83 kernel/event.h: several fixes, including autoclear support 2018-08-31 13:05:22 +02:00
Juan Antonio Hernández Cánovas
377683acd5 Add rwlockInit (#155) 2018-08-24 16:20:01 +02:00
fincs
9fa3873fc9 Fix comments in svc.h & thread.h 2018-08-06 17:58:31 +02:00
fincs
1e349b6ce8 Change CondVar API to have the mutex be passed to condvarWait* instead of condvarInit 2018-08-05 14:31:31 +02:00
fincs
062ef2b188 Add svcGetThreadCoreMask and svcSetThreadCoreMask 2018-08-05 14:30:08 +02:00
plutooo
9fc5e85c88 Event bringup 2018-08-05 13:23:08 +02:00
Kevoot
fbe2c1f2ce Add Semaphore (#125) 2018-07-01 00:45:41 +02:00
fincs
a9c0b213ff Add missing #pragma once to kernel/condvar.h 2018-06-26 13:12:44 +02:00
Michael Scire
9770f4bb18 Implement svcGetThreadList 2018-06-25 11:18:07 -04:00
Michael Scire
481d27d1f1 Implement svcGetDebugThreadParam 2018-06-25 11:18:07 -04:00
SciresM
773ff46543 Improve IpcParsedCommand domain message info. (#112)
* Improve IpcParsedCommand domain message info.
2018-06-25 11:08:48 -04:00
yellows8
b11288ea44 In jitTransitionToWritable() and jitTransitionToExecutable(), only run the JitType_CodeMemory handling code when it's actually needed. Actually free j->rx_addr in jitClose() for JitType_JitMemory. 2018-05-21 16:59:49 -04:00
yellows8
a12eb11eab Sync jit SVC names with wiki + updated the comment for JitType_JitMemory in jit.h. 2018-05-21 14:32:02 -04:00
yellows8
05cde6649b Updated svcGetDebugEvent and svcContinueDebugEvent in svc.h. 2018-05-14 12:51:06 -04:00
yellows8
02ff4915d9 Initialize cmdreq buf[1] in ipcCloseSession(). 2018-05-11 11:25:46 -04:00
fincs
6bc917fae2 ipc.h: don't implicitly cast int to BufferType 2018-05-09 02:44:40 +02:00
TuxSH
635599491c Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable 2018-05-08 16:17:13 -04:00
Michael Scire
ef47389228 Implement svcMap/UnmapPhysicalMemory(Unsafe), svcSetUnsafeLimit 2018-05-07 14:03:27 +02:00
Michael Scire
8496264811 Fix definition for svcCreateEvent 2018-05-07 13:54:23 +02:00
SciresM
0ac5743c1f Add ResourceLimit SVCs, svcGetProcessInfo (#76) 2018-05-04 00:59:17 +02:00
hexkyz
b2b8e1ec67 Implement more SVCs (#74)
Implement svcSetThreadPriority.
Implement svcGetCurrentProcessorNumber.
Implement svcSignalEvent.
Implement svcSendSyncRequestWithUserBuffer.
Implement svcSendAsyncRequestWithUserBuffer.
Implement svcGetThreadId.
Implement svcReplyAndReceiveWithUserBuffer.
Implement svcCreateEvent.
Implement svcReadWriteRegister.
Implement svcCreateInterruptEvent.
Implement svcMapDeviceAddressSpaceByForce.
Implement svcTerminateProcess.
Fix svcMapDeviceAddressSpaceAligned.
Fix svcUnmapDeviceAddressSpace.
2018-04-30 00:43:52 +02:00
SciresM
d5bce6b0a6 Implement svcCreatePort. (#73)
* Implement svcCreatePort
* Implement svcConnectToPort
* Implement svcUnmapProcessMemory
* Implement svcGetSystemInfo
2018-04-24 18:33:46 -04:00
SciresM
f40f544a07 IPC: Improve information available in IpcParsedCommand (#72)
* IPC: Add C descriptor support to IpcParsedCommand

* Add Command Type to IpcParsedCommand

* Replace constants with IpcCommandType where relevant.

* Add RawWithoutPadding pointer, required for serverside deserialization calculations.
2018-04-22 01:14:46 +02:00
Michael Scire
b18854555a IPC: Fix incorrect parsing of X descriptor addresses 2018-04-22 01:13:49 +02:00
plutoo
6c72bf8273 Detect 5.0.0 properly 2018-03-23 19:01:09 +01:00
cpasjuste
4677266d53 ipc.h: fix BufferType invalid conversion (c++) 2018-03-14 13:34:00 +01:00
plutoo
e112ab6968 Fix ipc session close race properly 2018-03-11 13:21:36 +01:00
plutoo
1dfb1beafb Ipc bugfix 2018-03-10 17:49:17 +01:00
plutoo
d54db1ac16 Includefix 2018-03-10 14:05:14 +01:00
plutoo
d12e99e3ad Move ipc.h to kernel/ 2018-03-10 14:03:29 +01:00
plutoo
20f3e87d11 Change type of TryLock to bool 2018-02-28 18:22:28 +01:00
Jules Blok
e966f21800 mutex: Add TryLock() variants. 2018-02-28 18:00:03 +01:00
TuxSH
372021e226 Add missing include in tmem.h 2018-02-27 19:14:44 +01:00
fincs
6c79424f76 kernel/svc.h: Add descriptions/basic info for the rest of syscalls 2018-02-10 22:40:11 +01:00