Michael Scire
a3b74aece9
kern: add InfoType_IsSvcPermitted
2022-03-23 09:16:04 -07:00
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
1713d12946
kern: devirtualize KReadableEvent::Reset, KWorkerTask::DoWorkerTask
2021-10-26 01:11:15 -07:00
Michael Scire
5217e6b9f3
kern: devirtualize KAutoObjectWithList::GetId()
2021-10-26 01:11:15 -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
573769303b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
2021-10-26 01:11:11 -07:00
Michael Scire
2827f6300e
kern: fix use of plr vs plr_heap, fix close/unlock order in ArbitrateLock
2021-10-26 01:11:11 -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
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
cbec3828bf
kern: KConditionVariable arbiter functions now static
2021-09-19 10:35:36 -07:00
Michael Scire
94fa7524ff
kern: KAutoObject doesn't need (virtual) destructor
2021-09-19 10:35:35 -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
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
ca5e69f16d
kern: greatly improve codegen for atomics, scheduler
2021-01-13 10:41:26 -08:00
Michael Scire
4ddacf3384
kern: refactor to use m_ for member variables
2020-12-19 10:21:52 -08:00
Michael Scire
cdbf881e99
kern: implement process cpu utilization debug
2020-12-19 10:21:47 -08:00
Michael Scire
eb621c6aae
kern: implement memory debug
2020-12-11 03:49:02 -08:00
Michael Scire
7519d17941
kern: add kernel object debug
2020-12-11 03:49:01 -08:00
Michael Scire
2d1ebf4406
kern: add KAlpha/KBeta
2020-12-02 06:53:16 -08:00
Michael Scire
0c73792282
kern: Kill KCoreLocalRegion
2020-12-02 06:53:12 -08:00
Michael Scire
ec6535bd4b
kern: fix warn-errors
2020-09-07 10:51:47 -07:00
Michael Scire
3d800b407e
kern: mark KThread/KProcess.GetId() final to save virtual calls
2020-09-07 10:51:38 -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
227b9603cd
kern: SvcReturnFromException
2020-08-01 15:31:46 -07:00
Michael Scire
bb044b1934
kern: clean up majority of TODOs
2020-08-01 15:31:44 -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
a0de667005
kern: SvcGetLastThreadInfo, SvcGetDebugFutureThreadInfo
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
6935929c33
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
2020-08-01 15:31:33 -07:00
Michael Scire
10415aefee
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
2020-08-01 15:31:31 -07:00
Michael Scire
b2af44006f
kern: Implement SecureMemory (system resource)
2020-08-01 15:31:30 -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
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
b26547b38c
kern: KDevicePageTable::Finalize, InfoType_RandomEntropy
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
811cf0768a
kern: add KAddressArbiter::WaitIfEqual
2020-08-01 15:31:19 -07:00
Michael Scire
fd486a5efd
kern: implement SvcGetProcessList
2020-08-01 15:31:17 -07:00