1
0
mirror of https://github.com/switchbrew/libnx.git synced 2025-07-25 03:22:15 +02:00
Commit Graph

153 Commits

Author SHA1 Message Date
plutooo
4a13ee3e62 Fix function name to not cause linker problems due to symbol truncation issues 2018-09-15 08:42:32 +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 () 2018-08-24 16:20:01 +02:00
plutooo
fb42ebe53a Fix memory leak in tmemCreate 2018-08-11 15:01:12 +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
Jakob Dietrich
8e19bb5b0d Fix semaphoreTryWait 2018-08-04 12:14:02 +02:00
Oliver Kuckertz
1eafa1b283 Fix data race by reordering in _CacheValues 2018-07-22 17:03:36 +02:00
Kevoot
fbe2c1f2ce Add Semaphore () 2018-07-01 00:45:41 +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
gdkchan
b55317511c Fix mutexUnlock 2018-06-25 11:12:45 -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
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 () 2018-05-04 00:59:17 +02:00
hexkyz
b2b8e1ec67 Implement more SVCs ()
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. ()
* 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