Commit Graph

188 Commits

Author SHA1 Message Date
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
93957370a9 Disable using JitType_JitMemory on 5.0.0+, resulting in falling back to JitType_CodeMemory if available. 2018-05-21 14:04:20 -04:00
Michael Scire
fd9378754d Fix asm error in svcGetResourceLimit*Value 2018-05-09 02:32:44 +02:00
Michael Scire
ef47389228 Implement svcMap/UnmapPhysicalMemory(Unsafe), svcSetUnsafeLimit 2018-05-07 14:03:27 +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
plutoo
d604976f08 Derp 2018-03-23 19:04:26 +01:00
plutoo
6c72bf8273 Detect 5.0.0 properly 2018-03-23 19:01:09 +01:00
plutoo
e112ab6968 Fix ipc session close race properly 2018-03-11 13:21:36 +01:00
plutoo
e162da18ff Fix race condition in tmem 2018-03-10 21:03:31 +01:00
yellows8
f7335b7ae5 Only clear allocated tmem when alloc was successful. 2018-03-01 22:57:44 -05:00
yellows8
20a549b46b Clear allocated tmem. 2018-03-01 22:55:17 -05: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
plutoo
842ce50c2f Condvar fix 2018-02-21 03:05:15 +01:00
fincs
521bc1c5c9 Document kernel/condvar.h 2018-02-10 22:40:11 +01:00
fincs
cde9d05c80 Optimize/fix several things in svc.s 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
cbd367c8a0 Document kernel/: detect.h, jit.h, mutex.h, random.h, rwlock.h 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
c7213b119b Condvar bugfix 2018-01-31 02:14:01 +01:00
plutoo
000a7f05c9 Experimental implementation of condvars 2018-01-30 22:39:02 +01:00
Lioncash
b637276c48 Silence a few missing prototype warnings 2018-01-28 01:03:56 +01:00
plutoo
340266502a Cache management for jit 2018-01-22 21:06:53 +01:00
plutoo
9634a5467e Small stylefix 2018-01-22 20:15:03 +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
e54bbc54ea Fix codestyle for results 2018-01-21 18:40:23 +01:00
plutoo
6b4b693842 3.0.0 jit also requires own process handle 2018-01-21 17:24:42 +01:00
plutoo
200240f328 Actually reprotect code segment to RX 2018-01-20 19:37:11 +01:00
plutoo
a4cff4de13 Jit bug number two 2018-01-20 14:19:14 +01:00
plutoo
de8b3f81e4 Jit errorcode bugfix 2018-01-20 14:03:44 +01:00
plutoo
81a39130fe Whitespace fix in svc 2018-01-20 14:01:26 +01:00
plutoo
22e9a0fcc3 Jit bringup, improvements to virtmem 2018-01-20 13:56:12 +01:00
plutoo
b877e1b1c1 Why is this not crashing 2018-01-20 12:26:31 +01:00
plutoo
8ae150d110 NRO loading bringup 2018-01-20 00:13:38 +01:00
plutoo
3faa6e8325 Add comment about seed 2018-01-18 21:11:58 +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
fincs
a8a15f7d16 Make fatalSimple error codes unique 2018-01-15 22:48:46 +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
916dfb56f0 More threading functionality 2018-01-01 23:32:44 +01:00
plutoo
5739fda64a Make allocation of virtmem regions thread-safe 2018-01-01 22:35:54 +01:00
plutoo
53a63d861a Derp 2018-01-01 22:30:29 +01:00
plutoo
5cad71213b Cache version values, fix guard paging of threads on 2.0.0+ 2018-01-01 22:28:12 +01:00
plutoo
91afc81ce1 Detect 4.0.0 2018-01-01 19:52:41 +01:00
plutoo
146aad7f55 Fixes for 1.0.0, correcting NRO aslr base 2017-12-22 02:49:32 -05:00
yellows8
d24671b306 Implemented applet initialization for application-type which was missing. Added svcResetSignal. 2017-12-01 23:15:40 -05:00
plutoo
40dd1adc23 Mutex fix 2017-11-26 20:45:55 +01:00
plutoo
de52de8e88 Fixes for 1.0.0 2017-11-26 20:44:42 +01:00
yellows8
9703ddbf3e Fixed the stack_sz used for stack_top in threadCreate(). t->stack_sz is uninitialized at the time stack_top is set, hence this was causing memory corruption in some cases. 2017-11-25 12:54:42 -05:00
yellows8
9c5afe8302 Added svcOutputDebugString. 2017-11-21 00:35:08 -05:00
plutoo
69ce83479a Mutex bringup 2017-11-17 16:15:28 +01:00
fincs
5e0b10db70 Page-align stack size in threadCreate 2017-11-14 01:14:36 +01:00
fincs
e836ee7bb9 Implement TLS/newlib reent support (untested) 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
4543558cd3 Add moar syscalls 2017-11-12 03:57:49 +01:00
yellows8
41303238e2 Added svcGetProcessId. Fixed pid type for svcDebugActiveProcess. 2017-11-09 15:49:41 -05:00
yellows8
1d8c51f6fa Added svcGetSystemTick. Added LIBNX_PARCEL_ERRBASE to result.h. Added BINDER_FIRST_CALL_TRANSACTION. Added gfxproducer and parcel. Use gfxproducer in gfx and added gfxSwapBuffers(). 2017-11-07 13:56:57 -05: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
fd128b0ae2 Random shit 2017-11-05 03:58:54 +01:00
yellows8
ff80e7e668 Added svcGetProcessList. 2017-10-21 11:31:23 -04:00
plutoo
6280e1ba58 Introducing shmem 2017-10-14 15:00:52 +02:00
yellows8
d1ba4d4e2b Added osDCacheFlush() for use by usbds. 2017-10-10 00:44:00 -04:00
yellows8
8308791835 Imported Doxyfile. Added svcClearEvent. Added more libnx errors to result.h. Updated viInitialize for using error LIBNX_ALREADYINITIALIZED. 2017-10-09 20:54:29 -04:00
plutoo
99bd9c76aa Attempt to introduce newlib heap implementation 2017-10-09 21:24:11 +02:00
plutoo
85538c9fb3 Introducing thread.. 2017-10-08 18:39:33 +02:00
plutoo
a9555bb5b5 Implement virtual memory allocator 2017-10-08 15:11:59 +02:00
plutoo
b82ad0b099 Nobodys perfect 2017-10-07 23:18:21 +02:00
plutoo
3926969ebc Minor changes
* Refactored system/*
* Implemented all of tmem
* Introduced virtmem
2017-10-07 15:32:57 +02:00
yellows8
c14d9baffb Merge branch 'master' of github.com:switchbrew/libnx 2017-09-24 18:40:26 -04:00
yellows8
8a9d51db0c Added smExit and added sm to appInit/appExit. Added svcCreateSession. Added vi. 2017-09-24 18:40:13 -04:00
plutoo
2a981d5c69 Introducing mutex 2017-09-25 00:04:03 +02:00
yellows8
b52787a4fa Added MemInfo struct, based on the libctru one. Added some debug svcs. 2017-09-18 14:41:53 -04:00
yellows8
19f0b5a828 Added sysinit/exit code similar to libctru, with updated crt0. Moved svcExitProcess into the library. Changed HEAP_SIZE. Adjusted some svc.s formatting. Added svcGetInfo. Added svcSleepThread, device SVCs, svcCallSecureMonitor, and the struct for svcCallSecureMonitor, based on code from naehrwert. 2017-09-16 10:52:10 -04: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
plutoo
0d8a5a6839 Restructuring a little 2017-09-10 20:19:32 +02:00