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
plutooo
4a13ee3e62
Fix function name to not cause linker problems due to symbol truncation issues
2018-09-15 08:42:32 +02:00