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
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 ( #155 )
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 ( #125 )
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 ( #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