SciresM
00203fd7c3
Integrate new result macros. ( #1780 )
...
* result: try out some experimental shenanigans
* result: sketch out some more shenanigans
* result: see what it looks like to convert kernel to use result conds instead of guards
* make rest of kernel use experimental new macro-ing
2022-03-23 09:15:40 -07:00
Michael Scire
1271ae28e1
kern: correct TotalUserPhysicalMemorySize ( closes #1710 )
2021-11-30 16:34:45 -08:00
Michael Scire
3304c91dae
kern: add (and use) generic KSystemControlBase
2021-10-26 01:11:18 -07:00
Michael Scire
1713d12946
kern: devirtualize KReadableEvent::Reset, KWorkerTask::DoWorkerTask
2021-10-26 01:11:15 -07:00
Michael Scire
6dbdfa0384
kern: use optimized red black tree finds for remaining holdouts
2021-10-26 01:11:14 -07:00
Michael Scire
7749ecabc4
kern: devirtualize several KAutoObject functions
2021-10-26 01:11:14 -07:00
SciresM
823c0df6b9
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-26 01:11:13 -07:00
Michael Scire
0d1ec0739f
util: better match true std::atomic semantics
2021-10-26 01:11:13 -07:00
Michael Scire
d3b358bbb9
kern/util: use custom atomics wrapper to substantially improve codegen
2021-10-26 01:11:12 -07:00
Michael Scire
002422d5dc
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-07 23:06:25 -07:00
Michael Scire
993ffbfdcd
kern: unify all waiting semantics to use single api
2021-09-19 10:35:39 -07:00
Michael Scire
ecb607bade
kern/svc: implement IoPool/Region svc support
2021-09-19 10:35:39 -07:00
Michael Scire
1ac249dd13
kern: support dynamic resource expansion for system heaps/events/sessions.
2021-09-19 10:35:38 -07:00
Michael Scire
619fe0f222
kern: fix incorrect waiter management in KProcess::ReleaseUserException
2021-08-20 13:33:59 -07:00
Michael Scire
0162133f1e
kern: update pinning semantics for terminating threads
2021-04-11 03:59:19 -07:00
Michael Scire
863008ab54
kern: ensure handle table is finalized when deferring termination
2021-04-11 03:59:19 -07:00
Michael Scire
43900d4765
kern: track mapped ipc server memory in page table
2021-04-11 03:59:12 -07:00
Michael Scire
c39bce4620
kern: support immortal processes
2021-04-11 03:59:10 -07:00
Michael Scire
ec7e3fb07f
kern: update process/thread for new running/termination semantics
2021-04-11 03:59:10 -07:00
Michael Scire
1328f17fb1
kern: unconditionally set thread state when appropriate
2021-04-11 03:59:10 -07:00
Michael Scire
d31612974a
kern: update kernel waiter management rules
2021-04-11 03:59:09 -07:00
Michael Scire
4ddacf3384
kern: refactor to use m_ for member variables
2020-12-19 10:21:52 -08:00
Michael Scire
2d1ebf4406
kern: add KAlpha/KBeta
2020-12-02 06:53:16 -08:00
Michael Scire
e4774a2685
kern: implement 64-virtual-core interface
2020-12-02 06:53:15 -08:00
Michael Scire
0c73792282
kern: Kill KCoreLocalRegion
2020-12-02 06:53:12 -08:00
Michael Scire
397d317a6c
kern: implement DisableDeviceAddressSpaceMerge
2020-12-02 06:53:10 -08:00
Michael Scire
658b92e17a
kern: add version bounds checking
2020-09-07 10:51:45 -07:00
Michael Scire
6f177e3e84
kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt
2020-09-07 10:51:38 -07:00
Michael Scire
dc59a2d2e5
kern: build with -Wextra
2020-09-07 10:51:36 -07:00
Michael Scire
227b9603cd
kern: SvcReturnFromException
2020-08-01 15:31:46 -07:00
Michael Scire
3d5f2b7258
kern: Add real SvcBreak implementation
2020-08-01 15:31:43 -07:00
Michael Scire
3b9403f3fc
kern: Svc(Legacy)ContinueDebugEvent
2020-08-01 15:31:42 -07:00
Michael Scire
83020ce2c4
kern: SvcGetThreadList
2020-08-01 15:31:41 -07:00
Michael Scire
be1314cb88
kern: implement thread pinning/SvcSynchronizePreemptionState
2020-08-01 15:31:34 -07:00
Michael Scire
a56e8ca4b0
kern: General system stability improvements to enhance the user's experience.
2020-08-01 15:31:32 -07:00
Michael Scire
10415aefee
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
2020-08-01 15:31:31 -07:00
Michael Scire
4c5bab3a5b
kern: fix resource leak bugs
2020-08-01 15:31:29 -07:00
Michael Scire
600a069f00
kern SvcGetCurrentProcessorNumber, SvcSetProcessActivity, half of SvcSetThreadActivity
2020-08-01 15:31:29 -07:00
Michael Scire
670824fa0a
kern: implement process exit
2020-08-01 15:31:27 -07:00
Michael Scire
df019af185
kern: SvcGetProcessInfo, SvcTerminateProcess
2020-08-01 15:31:26 -07:00
Michael Scire
fe48b9163d
kern: fully implement KSharedMemory (and Svcs)
2020-08-01 15:31:25 -07:00
Michael Scire
8cad49ee02
kern: add KProcess::Initialize (for non-kip processes)
2020-08-01 15:31:25 -07:00
Michael Scire
fcffa49fd5
kern: implement first half of SvcCreateProcess
2020-08-01 15:31:25 -07:00
Michael Scire
4b3fb40ed9
kern: implement KThread::Finalize
2020-08-01 15:31:24 -07:00
Michael Scire
ae68a9c38d
kern: SvcCreateSession, KDebug finalization
2020-08-01 15:31:21 -07:00
Michael Scire
eeb12eb4a2
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
2020-08-01 15:31:21 -07:00
Michael Scire
e7f2bd582b
kern: qualify inherited KAutoObjectWithListContainer accessor typenames
2020-08-01 15:31:17 -07:00
Michael Scire
fd486a5efd
kern: implement SvcGetProcessList
2020-08-01 15:31:17 -07:00
Michael Scire
160cec7cd8
kern: implement SvcCreateEvent, SvcSignalEvent, SvcClearEvent, SvcResetSignal
2020-08-01 15:31:16 -07:00
Michael Scire
dbc6d39d85
kern: fix/add InfoType_(Total/Used)(NonSystem/)MemorySize
2020-08-01 15:31:10 -07:00