Michael Scire
7042cd28a1
kern: refactor priority inheritance to represent locks as C++ objects
2023-02-23 09:00:32 -07:00
Michael Scire
e5f193c0bc
kern: remove unnecessary interrupt disables from arbiter/condvar
2023-02-23 09:00:32 -07:00
Michael Scire
c506ac0a6f
kern: KConditionVariable::SignalToAddress now emits dmb before userspace write
2023-02-23 09:00:31 -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
695a99183b
kern: other dmbs in kernel were already dmb ish
2021-10-26 01:11:19 -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
993ffbfdcd
kern: unify all waiting semantics to use single api
2021-09-19 10:35:39 -07:00
Michael Scire
d32d5bef8c
kern: fix bug in KConditionVariable::SignalImpl
2021-08-20 13:33:59 -07:00
Michael Scire
2ccba9adbb
util: implement red black trees as templates over macros
2021-04-29 03:04:53 -07:00
Michael Scire
a1abde34a9
kern: update KConditionVariable::WaitForAddress/Wait
2021-04-11 03:59:14 -07:00
Michael Scire
e597eb5411
kern: KLinkedList no longer exists
2021-04-11 03:59:08 -07:00
Michael Scire
4ddacf3384
kern: refactor to use m_ for member variables
2020-12-19 10:21:52 -08:00
Michael Scire
929e38cce9
kern: update KConditionVariable to support new has_waiter_flag rules
2020-12-02 06:53:20 -08:00
Michael Scire
c24ba715b4
KConditionVariable/KAddressArbiter: no need for global compare thread
2020-12-02 06:53:15 -08:00
Michael Scire
b953b82c3b
kern: minor behavioral fixes to condvar/address arbiter
2020-10-26 16:03:08 -07:00
Michael Scire
0013041509
kern: KConditionVariable::SignalImpl
2020-08-01 15:31:26 -07:00
Michael Scire
e760bd7038
kern: implement SvcMapProcessMemory, SvcUnmapProcessMemory
2020-08-01 15:31:24 -07:00
Michael Scire
eeb12eb4a2
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
2020-08-01 15:31:21 -07:00
Michael Scire
a22c0a84dd
kern: implement SvcSignalToAddress, SvcWaitForAddress
2020-08-01 15:31:19 -07:00
Michael Scire
811cf0768a
kern: add KAddressArbiter::WaitIfEqual
2020-08-01 15:31:19 -07:00
Michael Scire
8479ff4a1a
kern: implement SvcArbitrateLock, SvcArbitrateUnlock
2020-08-01 15:31:03 -07:00
Michael Scire
70291b4608
kern: partially implement SvcSignalProcessWideKey
2020-08-01 15:31:02 -07:00