Michael Scire
85fd13f724
kern: update KernelLdr for 19.0.0 (new checks, dummy function call).
...
Also, fix a few very embarassing mistakes in kernel ldr:
* We have been mapping the page table region RWX for a few years now, accidentally.
* My attempt at making initial page tables not use bit 58 was broken in multiple ways.
2025-04-07 16:49:10 -07:00
Michael Scire
9cfd535568
kern: invoke supervisor mode thread functions from C++ context with valid stack frame
2024-10-15 21:48:59 -07:00
Michael Scire
23ba31da1f
kern: add note that N ifdef'd out calling HandleException() for EL1 faults
2024-10-15 21:48:59 -07:00
Michael Scire
743634c3fd
kern: move KTargetSystem into .rodata, split init/verify
2024-10-15 21:48:59 -07:00
Michael Scire
a72e39d657
kern: allocate all TTBR0 pages during init, use procidx as asid
2024-10-15 21:48:59 -07:00
Michael Scire
027e209073
kern/ldr: enable the use of relr for relocations
2024-09-01 22:27:48 -07:00
Michael Scire
7562f807fd
kern: pass kernel base from KernelLdr to Kernel
2024-03-29 02:41:14 -07:00
Michael Scire
2c5002ce50
kern: update KMemoryRegionType values for new ids + SecureUnknown region
2023-10-12 08:55:58 -07:00
Michael Scire
c72ba35684
kern: add speculation barriers after eret
2023-10-12 08:55:58 -07:00
Michael Scire
ec96203cb7
kern: remove unnecessary fields from InitArgs (0x80 -> 0x40)
2023-10-12 08:55:58 -07:00
Michael Scire
1491a7b159
kern: on second thought, move vectors back to end of text
2023-10-12 08:55:58 -07:00
Michael Scire
0daef4a6e8
kern/ldr: move crt0 into .rodata
2023-10-12 08:55:58 -07:00
Michael Scire
4ca3c44e5f
kern: pass ini1 size from loader to kernel, remove slab memset from init0
2023-10-12 08:55:58 -07:00
Michael Scire
ba91f070e8
mesosphere: remove nostartfiles from specs files (should only be passed to linker wrapper)
2023-09-17 09:33:56 -07:00
Michael Scire
8da4d14e15
kern: minor cleanup (thanks @liamwhite)
2023-03-06 21:18:00 -07:00
Michael Scire
035cebef9d
kern: refactor init (kill identity map, merge cpu on logic)
2023-02-22 17:19:51 -08:00
Michael Scire
5a918f3bc9
kern: move SecureAppletMemory/KPageBuffer heap into the ResourceRegion
2022-10-12 09:15:16 -07:00
Michael Scire
ea82889e6c
kern: increase stack region size when thread resource limit is increased
2022-10-12 09:15:16 -07:00
Michael Scire
2e73f33eb0
kern: implement K(Secure)SystemResource
2022-10-12 09:15:16 -07:00
Liam
e702eab21c
KScheduler: fix documentation mistakes
2022-06-29 17:28:26 -07:00
Michael Scire
45da60f902
kern: turns out changing base address gives pretty elfs but breaks relocs
2022-03-23 09:10:50 -07:00
Michael Scire
383fc2cc99
kern: codegen tweaks, now that we're no longer -Os
2022-03-23 09:10:50 -07:00
Michael Scire
9d89835ff8
kern: update for new hw maintenance semantics
2022-03-23 09:10:50 -07:00
Michael Scire
6e17317d5d
kern: implement new thread context/fpu semantics
2022-03-23 09:10:50 -07:00
Michael Scire
24739f245e
kern: enforce end of dram == end of partitions (move our probably outdated KTraceBuffer to new location)
2022-03-23 09:10:50 -07:00
Michael Scire
64a97576d0
ams: support building unit test programs on windows/linux/macos
2022-03-21 17:21:44 -07:00
Michael Scire
d1f3c4904b
kern: fix minor assembly bugs, avoid unnecessary function call in KScheduler hotloop
2021-10-28 19:16:23 -07:00
Michael Scire
e81a1ce5a8
kern: audit (and fix) our hardware maintenance instructions to match official kernel
2021-10-27 12:31:53 -07:00
Michael Scire
1d5f66be56
kern: implement 13.1.0 kernel changes
2021-10-25 17:34:47 -07:00
Michael Scire
0a58e803be
kern/test: add wip qemu-virt board support to mesosphere
2021-10-25 17:31:14 -07:00
Michael Scire
fd187f952e
kern: enable lto for global instants (saves about a page in deduplicated code)
2021-10-24 17:06:43 -07:00
Michael Scire
d0cd511c0e
kern: devirtualize most things that are free to devirtualize (see #1672 )
2021-10-24 13:04:31 -07:00
Michael Scire
aaa3770806
kern: optimize timespan -> tick codegen, improve .text layout
2021-10-24 01:16:24 -07:00
SciresM
36e4914be8
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-23 15:25:20 -07:00
Michael Scire
960ba52a43
kern: put rela in bss
...
NOTE: This saves ~0x4000 of space at the cost of crimes against the linker script.
2021-10-08 12:48:53 -07:00
Michael Scire
fba962ef11
kern: clean up mesosphere buildscript
2021-10-08 12:32:23 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
481ce12b7b
kern: update Initialize0 for new arguments/randomization semantics
2021-09-19 10:34:31 -07:00
Michael Scire
2c4bd44d7e
kern: support dynamic resource expansion for system heaps/events/sessions.
2021-09-19 10:34:31 -07:00
Michael Scire
cb28150912
kern: kill the interrupt task manager thread
2021-09-19 10:34:31 -07:00
Michael Scire
ebb0bd2b41
kern: improve single-step around user-exception entry
2021-09-11 19:41:47 -07:00
Michael Scire
9e7b56b33c
kern: optimize hw-single-step management
2021-09-11 19:41:47 -07:00
Michael Scire
4075d24e0c
kern: add hardware single step extension
2021-09-11 19:41:47 -07:00
Michael Scire
14d458522d
kern: update initial cache management to match latest kernel
2021-07-12 18:30:01 -07:00
Michael Scire
7821241356
kern: fix enormous whoops
2021-05-31 04:20:59 -07:00
Michael Scire
4f16106702
exo/meso: update for gcc 11 compatibility
2021-04-26 20:06:18 -07:00
Michael Scire
19be54ff95
kern: fix initial process binary load on 2.0.0-4.1.0 ( closes #1460 )
2021-04-21 19:24:41 -07:00
Michael Scire
037b04ac60
kern: mostly kill magic numbers in assembly, fix SVCs >= 0x80
2021-04-14 18:01:08 -07:00
Michael Scire
0f8b7be2d2
kern: load initial process binary from user pool, rather than from pt heap
2021-04-11 03:42:16 -07:00
Michael Scire
a1e137cc1c
kern: update Initialize0 for new changes
2021-04-11 03:42:16 -07:00