Commit Graph

32 Commits

Author SHA1 Message Date
Michael Scire
24101aaa86 KScheduler big brain strat for mdscr_el1 cfg change 2021-11-30 16:34:43 -08:00
Michael Scire
610e99b277 kern: audit (and fix) our hardware maintenance instructions to match official kernel 2021-10-27 22:57:18 -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
00353a05e9 kern: use new AtomicRef, use Atomic<bool> 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
960c5c19f9 ams: improve offsetof style consistency 2021-10-26 01:11:10 -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
2913096bc4 kern: kill the interrupt task manager thread 2021-09-19 10:35:36 -07:00
Michael Scire
e238fa426d kern: mostly kill magic numbers in assembly, fix SVCs >= 0x80 2021-04-29 03:04:51 -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
0c73792282 kern: Kill KCoreLocalRegion 2020-12-02 06:53:12 -08:00
Michael Scire
0f3085b8f6 kern: perform rescheduling on dispatch re-enable (closes #1169) 2020-10-26 16:03:08 -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
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
4822da6fea kern: finish SvcGetInfo 2020-08-01 15:31:30 -07:00
Michael Scire
29a3bafb6f kern: fix kscheduler interrupt api, adjust debug logging 2020-08-01 15:31:20 -07:00
Michael Scire
d5310407ad kern: implement SvcSleepThread for ns > 0 2020-08-01 15:31:08 -07:00
Michael Scire
9fdf063039 kern: mostly implement thread exit 2020-08-01 15:31:07 -07:00
SciresM
7d041e853d Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20

* remove mno-outline-atomics

* ams: take care of most TODO C++20s

* fusee/sept: update for gcc10

* whoosh, your code now uses pre-compiled headers

* make: dependency fixes
2020-05-12 15:44:19 -07:00
Michael Scire
79b9793fcd kern: minor fixes to prevent core0-2 panics during boot 2020-03-02 19:51:01 -08:00
Michael Scire
049ae760ab libmesosphere: move .s to kernel (prevent manifesting in kernelldr) 2020-03-02 19:50:55 -08:00
Michael Scire
7e1b820041 kern: Implement exception vector ASM 2020-03-02 19:50:52 -08:00
Michael Scire
6930294583 kern: implement dpc + skeleton rest of main 2020-03-02 19:50:51 -08:00
Michael Scire
7e2b75ce0f kern: implement KResourceLimit 2020-03-02 19:50:50 -08:00
Michael Scire
6f2b517d86 kern: implement more of KInterruptManager 2020-03-02 19:50:49 -08:00
Michael Scire
841f6cf1d9 kern: implement much of KScheduler, KHardwareTimer 2020-03-02 19:50:49 -08:00
Michael Scire
af2b9252ec kern: add abstract scoped lock template 2020-03-02 19:50:49 -08:00
Michael Scire
4e0de30536 kern: implement KSchedulerLock 2020-03-02 19:50:48 -08:00
Michael Scire
efcfa04a80 kern: implement KPriorityQueue 2020-03-02 19:50:47 -08:00
Michael Scire
923ee1c494 kern: skeleton enough types to init KCoreLocalRegion in main() 2020-03-02 19:50:44 -08:00