Commit Graph

157 Commits

Author SHA1 Message Date
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
fincs
521bc1c5c9 Document kernel/condvar.h 2018-02-10 22:40:11 +01:00
fincs
e295994dd2 Begin documenting kernel/svc.h. SVCs classified in categories. 2018-02-10 22:40:11 +01:00
fincs
e54aadfc84 kernel/svc.h: Add MemoryType, MemoryState, MemoryAttribute 2018-02-10 22:40:11 +01:00
fincs
c8f62d94a3 Documentation: address second batch of comments (#38) 2018-02-10 22:40:11 +01:00
fincs
c20d372946 Clean up types.h:
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
fincs
41da28eb5c Document kernel/: shmem.h, thread.h, tmem.h, virtmem.h 2018-02-10 22:40:11 +01:00
fincs
8496f36879 Documentation: address first batch of comments (in #38) 2018-02-10 22:40:11 +01:00
fincs
cbd367c8a0 Document kernel/: detect.h, jit.h, mutex.h, random.h, rwlock.h 2018-02-10 22:40:11 +01:00
fincs
ff472848a9 Start doxygen bringup, with some miscellaneous cleanup 2018-02-10 22:40:11 +01:00
plutoo
75003f40f1 Add some syscalls 2018-02-01 22:04:37 +01:00
plutoo
b2810ab38d Condvar stylefix 2018-01-31 02:22:28 +01:00
plutoo
000a7f05c9 Experimental implementation of condvars 2018-01-30 22:39:02 +01:00
plutoo
673651a51f Fix broken header files 2018-01-23 00:27:00 +01:00
plutoo
6fa8370bfb This looks better 2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8 Include only what is really necessary...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
22e9a0fcc3 Jit bringup, improvements to virtmem 2018-01-20 13:56:12 +01:00
plutoo
15fe53dad3 Fix signature of randomGet64() 2018-01-18 20:53:04 +01:00
plutoo
ec4430d2e6 Introduce random 2018-01-18 20:51:55 +01:00
yellows8
eec1fc2fcc Added svcSetProcessMemoryPermission and svcMapProcessCodeMemory/svcUnmapProcessCodeMemory. Added PERM_X. 2018-01-13 23:49:54 -05:00
plutoo
d8061f67bd Introduce svcWaitForSynchronizationSingle to clean up code 2018-01-13 00:27:47 +01:00
plutoo
7482c849fe Introducing RwLock, make hid threadsafe 2018-01-11 22:25:49 +01:00
plutoo
6585261210 Detect debugger and use svcBreak in panic 2018-01-11 21:49:41 +01:00
plutoo
5f860ad4b3 Rename version.{c.h} to detect 2018-01-11 21:43:37 +01:00
plutoo
edcf789b6e C was developed in 1972 2018-01-06 13:54:59 +01:00
plutoo
3ca6e65984 Aligning code style of kernel primitives 2018-01-06 06:10:55 +01:00
plutoo
282fdefe2b Align code style of MemoryInfo 2018-01-06 06:04:35 +01:00
plutoo
fee6b42963 Align code style for AM 2018-01-06 05:57:56 +01:00
plutoo
916dfb56f0 More threading functionality 2018-01-01 23:32:44 +01:00
plutoo
91afc81ce1 Detect 4.0.0 2018-01-01 19:52:41 +01:00
fincs
e836ee7bb9 Implement TLS/newlib reent support (untested) 2017-11-14 00:31:47 +01:00
fincs
03674bba85 Implement lock_init{_recursive} newlib syscalls 2017-11-14 00:31:47 +01:00
fincs
f27685b7b3 Integrate newlib locks with libnx (R)Mutex (untested, incomplete) 2017-11-14 00:31:47 +01:00
plutoo
9a67c39fd0 Moved cache.s to arm/, implemented kernel/version.c, get rid of broken uart driver [for now] 2017-11-05 03:58:54 +01:00
plutoo
6280e1ba58 Introducing shmem 2017-10-14 15:00:52 +02:00
plutoo
85538c9fb3 Introducing thread.. 2017-10-08 18:39:33 +02:00
plutoo
3926969ebc Minor changes
* Refactored system/*
* Implemented all of tmem
* Introduced virtmem
2017-10-07 15:32:57 +02:00
plutoo
2a981d5c69 Introducing mutex 2017-09-25 00:04:03 +02:00
plutoo
6c2d06f9a8 Fixing bugs. bsdInitialize currently fails with 0xe401, probably due to ipc bug 2017-09-11 04:38:38 +02:00
plutoo
30650b5d69 Implemented heap, transfer memory, bsd cmd0 2017-09-10 23:17:57 +02:00