Commit Graph

168 Commits

Author SHA1 Message Date
Michael Scire
03d0fd0f62 kern: refactor init (kill identity map, merge cpu on logic) 2023-02-23 09:00:31 -07:00
Michael Scire
8afa5a9057 kern: update for new ChangePermissions page table operation 2023-02-23 09:00:30 -07:00
Michael Scire
07213a23fb kern: update UnmapIoRegion for new Mapping_Memory handling 2023-02-23 09:00:28 -07:00
Michael Scire
326f737349 kern: use different psr masks for 64 and 32-bit El0 threads 2023-02-23 09:00:27 -07:00
Michael Scire
f81abe0625 kern: increase stack parameter size by 0x10 2023-02-23 09:00:27 -07:00
Michael Scire
30ecdbcf6a kern: update scheduler for new switch count tracking logic 2023-02-23 09:00:26 -07:00
Michael Scire
044c8fbd72 kern: fix unnecessarily strong load in aligned spinlock
Copy-paste error I didn't notice for two years, whoops
2023-01-24 14:39:17 -07:00
Michael Scire
22a4a85fb2 kern: implement Svc(Un)MapInsecureMemory 2022-10-12 09:15:50 -07:00
Michael Scire
e4825cc879 kern: Implement new PageTable operations/PhysicalMemory reference semantics 2022-10-12 09:15:49 -07:00
Michael Scire
cfe81a7eb3 kern: update for new device map semantics 2022-10-12 09:15:49 -07:00
Michael Scire
8ca94db643 kern: implement K(Secure)SystemResource 2022-10-12 09:15:48 -07:00
Michael Scire
8022175f5f kern: implement revised IPI/SGI semantics 2022-03-23 09:16:07 -07:00
Michael Scire
d066ac3d69 kern: update for new hw maintenance semantics 2022-03-23 09:16:06 -07:00
Michael Scire
f38d589516 kern: implement new thread context/fpu semantics 2022-03-23 09:16:06 -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
17ceca9140 kern: fix minor assembly bugs, avoid unnecessary function call in KScheduler hotloop 2021-10-29 17:47:13 -07:00
Michael Scire
cb7f4e7757 kern: optimize and bring into line with N our pstate.i management 2021-10-27 22:57:18 -07:00
Michael Scire
610e99b277 kern: audit (and fix) our hardware maintenance instructions to match official kernel 2021-10-27 22:57:18 -07:00
Michael Scire
dfba6af22c kern: implement 13.1.0 kernel changes 2021-10-26 01:11:18 -07:00
Michael Scire
3304c91dae kern: add (and use) generic KSystemControlBase 2021-10-26 01:11:18 -07:00
Michael Scire
194e58a3e3 kern/test: add wip qemu-virt board support to mesosphere 2021-10-26 01:11:16 -07:00
Michael Scire
62bdae5b3f kern: devirtualize most things that are free to devirtualize (see #1672) 2021-10-26 01:11:15 -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
d9d6d52575 kern: remove spurious assertion 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
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
204b389252 kern: devirtualize page table operations 2021-09-24 09:17:11 -07:00
Michael Scire
ecb607bade kern/svc: implement IoPool/Region svc support 2021-09-19 10:35:39 -07:00
Michael Scire
b579a6d75e svc/kern/dd: remove MapDeviceAddressSpace() 2021-09-19 10:35:39 -07:00
Michael Scire
3e328eae72 kern: update Initialize0 for new arguments/randomization semantics 2021-09-19 10:35:38 -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
2913096bc4 kern: kill the interrupt task manager thread 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
e9a80d95e7 kern: optimize hw-single-step management 2021-09-19 10:35:29 -07:00
Michael Scire
33d58424c7 kern: add hardware single step extension 2021-09-19 10:35:28 -07:00
Michael Scire
525254b32b kern: update initial cache management to match latest kernel 2021-08-20 13:33:58 -07:00
Michael Scire
5785447252 kern: ensure InitArguments do not cross page boundaries 2021-07-06 07:28:29 -07:00
Michael Scire
53693dfb17 kern: add names/links to kern_assembly_offsets.h 2021-04-29 03:04:52 -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
e9d44eb71a kern: fuck the KPolice^H^H^H^H^H^HPageGroups 2021-04-11 03:59:20 -07:00
Michael Scire
43900d4765 kern: track mapped ipc server memory in page table 2021-04-11 03:59:12 -07:00
Michael Scire
8df6062a1d kern: add KPageTableBase::Read/WriteDebugIoMemory 2021-04-11 03:59:12 -07:00
Michael Scire
e2f21cbd84 kern: swap tpidr_el1/cntv_cval_el0 as scratch vs exception stack 2021-04-11 03:59:11 -07:00
Michael Scire
be127dfc4b kern: update KInterruptEvent to store core id 2021-04-11 03:59:09 -07:00
Michael Scire
d44aa9cb5d kern: update KInitialPageTable/KInitialPageAllocator 2021-04-11 03:59:08 -07:00
Michael Scire
af72072313 kern: bump svc limit to 192 from 128 2021-04-11 03:59:07 -07:00
Michael Scire
d247e742b8 kern: remove target-firmware logic for kernel loader 2020-12-29 13:07:57 -08:00
Michael Scire
4ddacf3384 kern: refactor to use m_ for member variables 2020-12-19 10:21:52 -08:00
Michael Scire
84ca5c4aab kern: fix LegacyNFiq interrupt ID 2020-12-19 10:21:50 -08:00