Michael Scire
cb970049db
kern: implement KPageTableImpl merge
2024-10-15 21:48:59 -07:00
Michael Scire
9610f42dc0
kern: continue page table refactor, implement separate/unmap
2024-10-15 21:48:59 -07:00
Michael Scire
02e837d82e
kern: start KPageTable(Impl) refactor, use array-with-levels for KPageTableImpl
2024-10-15 21:48:59 -07:00
Michael Scire
ff38a32a9b
kern/ldr: add support for --x executables
2024-10-15 21:48:59 -07:00
Michael Scire
2855b8ee35
kern/strat: update for new DebugFlags capability semantics
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
a0ad3ef949
kern/svc: update WaitForAddress to support 64-bit WaitIfEqual
2024-10-15 21:48:59 -07:00
Michael Scire
ecbe5cd406
kern: refactor smc helpers to share more common logic
2024-03-29 02:41:14 -07:00
Michael Scire
952188fc73
kern: implement new attr tracking for memory range/traversal context
2024-03-29 02:41:14 -07:00
Michael Scire
8aa62a54d8
kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize
2024-03-29 02:41:14 -07:00
Michael Scire
afc0e14556
kern/svc: fix query/insecure names
2023-11-01 10:24:13 -07:00
Michael Scire
3737151a2f
kern: Add special-case for InvalidateProcessDataCache on current process
2023-10-12 08:55:58 -07:00
Michael Scire
2a4d68f916
kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup
2023-10-12 08:55:58 -07:00
Michael Scire
b7384a8667
kern: KSupervisorPageTable now checks wxn instead of setting it
2023-10-12 08:55:58 -07:00
Michael Scire
85b5f20395
kern: KPageTable::Initialize no longer takes unused process id
2023-10-12 08:55:58 -07:00
Michael Scire
ae2c25e9c8
kern: update KMemoryState, remove bijection (separate IoRegister/IoMemory)
2023-10-12 08:55:58 -07:00
Michael Scire
cfd2d5b012
kern: clear new pages in init page allocator, not init page table
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
035cebef9d
kern: refactor init (kill identity map, merge cpu on logic)
2023-02-22 17:19:51 -08:00
Michael Scire
6e2dd791b2
kern: update for new ChangePermissions page table operation
2023-02-22 17:19:51 -08:00
Michael Scire
8ffc177b44
kern: update UnmapIoRegion for new Mapping_Memory handling
2023-02-22 17:19:51 -08:00
Michael Scire
695c125721
kern: use different psr masks for 64 and 32-bit El0 threads
2023-02-22 17:19:51 -08:00
Michael Scire
e7e3e7b374
kern: increase stack parameter size by 0x10
2023-02-22 17:19:51 -08:00
Michael Scire
3a5f406c5f
kern: update scheduler for new switch count tracking logic
2023-02-21 03:12:17 -07:00
Michael Scire
e4b9930bf3
kern: fix unnecessarily strong load in aligned spinlock
...
Copy-paste error I didn't notice for two years, whoops
2022-12-25 01:56:31 -07:00
Michael Scire
e7a1e0fee2
kern: implement Svc(Un)MapInsecureMemory
2022-10-12 09:15:16 -07:00
Michael Scire
7f2cbba543
kern: Implement new PageTable operations/PhysicalMemory reference semantics
2022-10-12 09:15:16 -07:00
Michael Scire
5ee7d8a5ed
kern: update for new device map semantics
2022-10-12 09:15:16 -07:00
Michael Scire
2e73f33eb0
kern: implement K(Secure)SystemResource
2022-10-12 09:15:16 -07:00
Michael Scire
ff07ba4201
kern: implement revised IPI/SGI semantics
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
SciresM
96f95b9f95
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-02-14 14:45:32 -08: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
4b7b33809f
kern: optimize and bring into line with N our pstate.i management
2021-10-27 15:00:07 -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
273f4a87ae
kern: add (and use) generic KSystemControlBase
2021-10-25 17:31:14 -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
d0cd511c0e
kern: devirtualize most things that are free to devirtualize (see #1672 )
2021-10-24 13:04:31 -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
d3eb1268bc
kern: remove spurious assertion
2021-10-19 01:21:23 -07:00
Michael Scire
f3b532070b
kern: update scheduler for 13.0.0 change, fix some ctz/clz bugs
2021-10-19 01:20:28 -07:00
Michael Scire
889d843718
ams: improve offsetof style consistency
2021-10-18 00:17:13 -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
3fe072a1d0
kern: devirtualize page table operations
2021-09-21 10:09:27 -07:00
Michael Scire
f6fb5f2c8d
kern/svc: implement IoPool/Region svc support
2021-09-19 10:34:31 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:34:31 -07:00
Michael Scire
481ce12b7b
kern: update Initialize0 for new arguments/randomization semantics
2021-09-19 10:34:31 -07:00