Commit Graph

153 Commits

Author SHA1 Message Date
SciresM
e1a6a463c2 Add enums for GetInfo/GetSystemInfo (#292) 2019-06-22 00:05:56 +02:00
Michael Scire
6b50fddd9b Implement svcQueryProcessMemory 2019-04-21 13:48:59 +02:00
fincs
1c832bebd6 Avoid overwriting TLS[0x100] and TLS[0x102] as per 8.0.0 2019-04-20 19:19:34 +02:00
fincs
626b07fac8 Implement TLS slot support (with destructors) 2019-03-29 18:40:26 +01:00
plutoo
b7fe92f3a2 rwlock: Move over to condvar implementation. (#255)
This one is superior to the previous because it is write-preferring.
2019-03-28 23:53:04 +01:00
fincs
bf13da990a Critical fix in new barrier impl 2019-02-23 21:09:41 +01:00
plutooo
e8f3964475 barrier: More efficient impl, maybe 2019-02-23 21:05:39 +01:00
fincs
11b7bece4a Change all services except fatal to use hosversion* instead of kernelAboveXYZ 2019-02-18 21:48:49 +01:00
fincs
61cc738730 Introduce hosversion.h - HOS version detection utilities
- Simplify kernel/detect.h logic; introduce detectKernelVersion()
- Use set:sys (if available) during __appInit in order to initialize
  the current HOS version
2019-02-18 21:48:41 +01:00
fincs
ee2e19ce38 Improve names/documentation for jit kernel patch functions in detect.h/c + codestylefixes 2019-02-16 16:42:08 +01:00
plutooo
17731d750e Add function to test OFW behavior under CFW 2019-02-14 22:03:47 +01:00
plutooo
fc557cbf2a Detect and use the CFW jit patch. 2019-02-13 22:40:00 +01:00
yellows8
00d0174c0a Removed the buffer memset from tmemCreateFromMemory, tmemCreateFromMemory should not write to the user buffer. 2018-12-23 22:18:24 -05:00
fincs
252e8ef9ff Add tmemCreateFromMemory 2018-12-20 16:12:22 +01:00
fincs
beeeb057d2 Finishing touches to user-mode synchronization primitives 2018-12-17 16:06:23 +01:00
fincs
21f69bfa57 Add, document, and use MAX_WAIT_OBJECTS 2018-12-17 16:06:23 +01:00
fincs
33dad9b893 UTimer: use an actual 'started' flag instead of a magic tick value 2018-12-17 16:06:23 +01:00
fincs
8d813ee666 Generalize Waitable, moving UEvent/UTimer specific code into a vtable. 2018-12-17 16:06:23 +01:00
fincs
1d14cad1cf Separate WaiterNode initialization again, which is now done in waitImpl 2018-12-17 16:06:23 +01:00
fincs
a23d38ac77 Move waiterForXyz() functions to Xyz's header file. Implement waiter for (kernel mode) Event, and use it instead. 2018-12-17 16:06:23 +01:00
fincs
c9ee12ce20 Simplify WaiterNode, make it private. Improve UEvent autoclear logic. 2018-12-17 16:06:23 +01:00
fincs
47b786bcea Synchronize eventWait and _waitLoop code 2018-12-17 16:06:23 +01:00
fincs
2e76b2b150 waitN: Fix index bug when there are handles before UEvents in the array 2018-12-17 16:06:23 +01:00
fincs
3c9a84fe68 wait.c: Fix no-timeout handling; use new kernel error result codes 2018-12-17 16:06:23 +01:00
fincs
9144d78031 Stylefixes, part 1 2018-12-17 16:06:23 +01:00
plutooo
eb7d835a79 wait: Rename UsermodeEvent and UsermodeTimer 2018-12-17 16:06:23 +01:00
plutooo
376add30a4 wait: Introduce wait for raw handles too 2018-12-17 16:06:23 +01:00
plutooo
68b4d323a0 utimer: Add TimerType_OneShot 2018-12-17 16:06:23 +01:00
plutooo
0c0261bf2f wait: Improve timer calculation, thanks derrek 2018-12-17 16:06:23 +01:00
plutooo
b38983c1b7 wait: Fix a race 2018-12-17 16:06:23 +01:00
plutooo
eb01ccd097 wait: Doxygen 2018-12-17 16:06:23 +01:00
plutooo
6a6f654526 wait: Final implementation 2018-12-17 16:06:23 +01:00
plutooo
03ddd464a0 arm: Rename armTickToNs(), etc 2018-12-17 16:06:23 +01:00
plutooo
26b17cdae5 kernel: Review comments (move to private interface to private headers, atomics) 2018-12-17 16:06:23 +01:00
plutooo
9da123f916 wait: Check for disabled timer 2018-12-17 16:06:23 +01:00
plutooo
c6fc6a41e5 wait: Bug-fixes and lock-free utimer stop/start 2018-12-17 16:06:23 +01:00
plutooo
370d78453e kernel: Introduce utimer, uevent, and waitN 2018-12-17 16:06:23 +01:00
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
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
yellows8
5dc7505139 Fixed swapped params for svcCreateEvent in eventCreate. 2018-10-26 13:08:45 -04:00
tatehaga
b130d96445 barrier implementation using semaphores (#186) 2018-10-23 21:19:26 +02:00
plutooo
6977cb24f5 virtmem: Fix minor regression
We need to fetch alias region to make sure virtmemReserve() avoids returning addresses inside of it
2018-10-23 04:07:01 +02:00
Michael Scire
e942b9cc25 virtmem: Fix stack region mapping on 1.0.0 2018-10-22 22:34:11 +02:00
yellows8
319cc578ca Fixed swapped params for memalign in jitCreate(). 2018-10-17 14:47:14 -04:00
fincs
8e1736c480 Add RandomSeed (14) homebrew ABI key and related handling 2018-10-17 17:17:05 +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
Lioncash
a06bfb74a7 kernel/random: Avoid casting away const in the U8TO32_LITTLE macro
This macro is only ever used with const input data within chachaInit(),
which causes -Wcast-qual warnings. This is trivial enough to fix, by
preserving the qualifier within the cast.
2018-09-18 01:13:04 +02:00