Michael Scire
|
89926f44c6
|
kern: use optimized red black tree finds for remaining holdouts
|
2021-10-23 21:58:48 -07:00 |
|
Michael Scire
|
436613401a
|
kern: devirtualize several KAutoObject functions
|
2021-10-23 21:13:26 -07:00 |
|
SciresM
|
36e4914be8
|
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) (#1668)
|
2021-10-23 15:25:20 -07:00 |
|
Michael Scire
|
20716cb3de
|
kern: use new AtomicRef, use Atomic<bool>
|
2021-10-20 13:29:38 -07:00 |
|
Michael Scire
|
aed9d3f535
|
util: better match true std::atomic semantics
|
2021-10-20 11:02:17 -07:00 |
|
Michael Scire
|
d74f364107
|
kern/util: use custom atomics wrapper to substantially improve codegen
|
2021-10-19 15:24:15 -07:00 |
|
Michael Scire
|
f3b532070b
|
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
|
2021-10-19 01:20:28 -07:00 |
|
Michael Scire
|
42b6c2dd95
|
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
|
2021-10-19 01:19:31 -07:00 |
|
Michael Scire
|
26c02e2019
|
kern/util: update structure layouts to match Nintendo (saves 0x10 per KThread/KSession)
|
2021-10-16 16:13:10 -07:00 |
|
Michael Scire
|
1ab0bd1765
|
ams: replace most remaining operator & with std::addressof
|
2021-10-09 14:49:53 -07:00 |
|
Michael Scire
|
77fe5cf6f5
|
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
|
2021-10-04 12:59:10 -07:00 |
|
Michael Scire
|
90732ff311
|
kern: unify all waiting semantics to use single api
|
2021-09-19 10:34:31 -07:00 |
|
Michael Scire
|
4f16106702
|
exo/meso: update for gcc 11 compatibility
|
2021-04-26 20:06:18 -07:00 |
|
Michael Scire
|
6faa3534bf
|
kern: update pinning semantics for terminating threads
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
4407237f5b
|
kern: KAutoObject destruction is now scheduled for next dpc-time
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
256eb92f4c
|
kern: update process/thread for new running/termination semantics
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
3356eddcba
|
kern: update kernel waiter management rules
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
e64fef109c
|
kern: update pinned thread priority rules
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
1b2cf173b3
|
kern: add new checks to SetThreadPriority/CoreMask
|
2021-04-11 03:42:16 -07:00 |
|
Michael Scire
|
4aa18b06e8
|
kern: greatly improve codegen for atomics, scheduler
|
2021-01-08 02:13:43 -08:00 |
|
Michael Scire
|
968f50bc07
|
kern: refactor to use m_ for member variables
|
2020-12-18 13:31:01 -08:00 |
|
Michael Scire
|
bcc7eed037
|
kern: add debug thread dump
|
2020-12-09 05:59:54 -08:00 |
|
Michael Scire
|
3c8e7de915
|
kern: fix bugs caused by UB + transition to -Os
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
0a1465f198
|
kern: add new overflow checks on KMemoryRegions
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
28f9b534b6
|
kern: implement 64-virtual-core interface
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
8b2ed36698
|
kern: cleanup KThread, optimize/normalize KThreadQueue/KWaitObject
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
1852fe8612
|
kern: improve KSynchronizationObject, kill KSynchronization
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
b0debd72a7
|
kern: Kill KCoreLocalRegion
|
2020-12-02 06:43:37 -08:00 |
|
Michael Scire
|
a75c16226e
|
kern: correct thread termination atomicity
|
2020-08-18 15:17:40 -07:00 |
|
Michael Scire
|
e1bd6fb874
|
kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt
|
2020-08-18 15:17:40 -07:00 |
|
Michael Scire
|
3afd723b92
|
kern: SvcGetDebugThreadParam
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
e1f3bb10a5
|
kern: clean up majority of TODOs
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
96c3dfee14
|
kern: SvcGetThreadList
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
8922bbd108
|
kern: SendSyncRequestLight, ReplyAndReceiveLight
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
4bb9ef061a
|
kern: implement SvcGetThreadContext3
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
f70ee67753
|
kern: correct behavior when setting activity/core mask for pinned thread
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
787964f7e7
|
kern: implement thread pinning/SvcSynchronizePreemptionState
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1448068b69
|
kern: fix assertion in KThread::(Try)Suspend
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1b9acc4a6a
|
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
46935fea80
|
kern: fix resource leak bugs
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1d4d637818
|
kern SvcGetCurrentProcessorNumber, SvcSetProcessActivity, half of SvcSetThreadActivity
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
23eed522d3
|
kern: SvcGetThreadCoreMask, SvcSetThreadCoreMask
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
28aab09b5d
|
kern: implement process exit
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
3cf793f87e
|
kern: implement KThread::Finalize
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
26df56cd87
|
kern: implement SvcCancelSynchronization
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
5b8a20dbf7
|
kern: fix bug in SvcSetThreadPriority
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
a0cc22302c
|
kern: add KAddressArbiter::WaitIfEqual
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
ca9327a120
|
kern: implement SvcSleepThread for ns > 0
|
2020-07-10 23:30:15 -07:00 |
|
Michael Scire
|
4a767c9082
|
kern: mostly implement thread exit
|
2020-07-10 18:39:53 -07:00 |
|
Michael Scire
|
34fb48b412
|
kern: mem access prep for svc streams, TODO_IMPLEMENT -> UNIMPLEMENTED
|
2020-02-22 05:42:46 -08:00 |
|