Michael Scire
1e67468804
kern: adjust system registers during exception handling on MTE-violation or kernel address fault
2025-05-09 12:10:05 -07:00
Michael Scire
fa7577c87b
kern: update UserspaceAccess functions for 20.0.0 changes
2025-05-09 12:10:05 -07:00
Michael Scire
715eff2102
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-05-09 12:10:01 -07:00
Michael Scire
18473ebbe9
kern: Perform page table validity pass during KPageTableImpl::InitializeForKernel
2024-10-15 21:51:46 -07:00
Michael Scire
4f9b30bd86
kern: fix more page table refactor bugs
2024-10-15 21:51:45 -07:00
Michael Scire
1c2ed77c67
kern: first round of page table refactor bug fixes
2024-10-15 21:51:45 -07:00
Michael Scire
1466c59252
kern: update KPageTable::Map for new refactor
2024-10-15 21:51:44 -07:00
Michael Scire
235cff531b
kern: update ChangePermissions to use new iteration logic
2024-10-15 21:51:44 -07:00
Michael Scire
73062fd8f8
kern: update KPageTable::Finalize for the refactor
2024-10-15 21:51:44 -07:00
Michael Scire
eaef8d20a1
kern: use new merge pages api
2024-10-15 21:51:43 -07:00
Michael Scire
1d7ad43fdc
kern: implement KPageTableImpl merge
2024-10-15 21:51:43 -07:00
Michael Scire
b40b203614
kern: continue page table refactor, implement separate/unmap
2024-10-15 21:51:43 -07:00
Michael Scire
fe06100001
kern: start KPageTable(Impl) refactor, use array-with-levels for KPageTableImpl
2024-10-15 21:51:42 -07:00
Michael Scire
03d859792e
kern: invoke supervisor mode thread functions from C++ context with valid stack frame
2024-10-15 21:51:40 -07:00
Michael Scire
b70e367745
kern/ldr: add support for --x executables
2024-10-15 21:51:39 -07:00
Michael Scire
18d59ac4ac
kern: fix debug build
2024-10-15 21:51:37 -07:00
Michael Scire
0c85274c14
kern: allocate all TTBR0 pages during init, use procidx as asid
2024-10-15 21:51:37 -07:00
Michael Scire
89bfecb6b6
kern/svc: update WaitForAddress to support 64-bit WaitIfEqual
2024-10-15 21:51:35 -07:00
Michael Scire
06d82b52ff
kern/creport: use mod0 to locate symbol table for all modules
2024-10-15 21:51:33 -07:00
Michael Scire
7f661bd2c8
kern: return ExceptionType_UnalignedData on data abort caused by alignment fault
2024-03-29 02:55:05 -07:00
Michael Scire
6571df6cbc
kern: implement new attr tracking for memory range/traversal context
2024-03-29 02:55:04 -07:00
Michael Scire
60e3c8a4cc
kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize
2024-03-29 02:55:02 -07:00
Michael Scire
d7c77f731e
kern: use userspace access instructions to read from tlr
2024-03-29 02:55:00 -07:00
Michael Scire
d7a02b6ca1
kern: fix some comment typos
2023-11-16 16:25:26 -07:00
Michael Scire
43b8461b5f
kern/svc: fix query/insecure names
2023-11-16 16:25:26 -07:00
Michael Scire
d213377313
kern: split out GetInstructionDataUserMode in exception handler
2023-10-12 09:22:26 -07:00
Michael Scire
6dcf506423
kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup
2023-10-12 09:22:25 -07:00
Michael Scire
7ac90cdb0d
kern: note OnFinalize calls in KPageTable::Finalize
2023-10-12 09:22:25 -07:00
Michael Scire
9f51df06d5
kern: KSupervisorPageTable now checks wxn instead of setting it
2023-10-12 09:22:24 -07:00
Michael Scire
41eea11a19
kern: KPageTable::Initialize no longer takes unused process id
2023-10-12 09:22:24 -07:00
Michael Scire
8d84b5776f
kern: add speculation barriers after eret
2023-10-12 09:22:22 -07:00
Michael Scire
03d0fd0f62
kern: refactor init (kill identity map, merge cpu on logic)
2023-02-23 09:00:31 -07:00
Michael Scire
0db64c5e6f
kern: use variable-count parameter arrays for DebugEvents
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
a761a80252
kern: optimize userspace access asm to use cheaper instruction in io memory loops
2023-02-23 09:00:27 -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
a3cbed96d0
kern: update for new exception flag semantics
2022-10-12 09:15:51 -07:00
Michael Scire
e4825cc879
kern: Implement new PageTable operations/PhysicalMemory reference 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
merry
a2e891d5e8
KThreadContext: Use El0PsrMask constant in GetUserContext
2022-03-23 09:15:46 -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
9436b9a555
ams: deduplicate static initialization logic
2022-01-19 16:28:54 -08:00
Michael Scire
2409222dd0
kern: be a little more consistent about pragma GCC location
2021-11-30 16:34:45 -08: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
e5756ca0b0
kern: fix 32-bit light ipc svc handler asm
...
Nintendo used to do what we were doing because the function wasn't directly in the handler table,
but we've always been directly in the handler table, so we were trashing the last four arguments to light ipc
when called from aarch32. Nothing uses this, but needed to be fixed.
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