Michael Scire
13780c5c65
kern: plutoo is an intellectual, I am a fool, fix chicanery
2025-04-30 22:33:40 -07:00
Michael Scire
8f30415043
kern: use callback to note pte updates in KPageTableImpl
2025-04-30 22:31:25 -07:00
Michael Scire
ecc8955228
kern: refactor FindFreeArea region search logic per 20.0.0 changes
2025-04-30 21:52:01 -07:00
Michael Scire
1b89379cc2
kern: update instruction cache invalidation logic in KPageTableBase to reflect 20.0.0 changes
2025-04-30 20:54:56 -07:00
Michael Scire
6ea2853f4e
kern: reorder resource manager implementation
2025-04-30 20:37:42 -07:00
Michael Scire
826b749971
kern: support null resource limit in KSecureSystemResource
2025-04-30 20:24:22 -07:00
Michael Scire
9e25c58899
kern: adjust system registers during exception handling on MTE-violation or kernel address fault
2025-04-30 19:57:45 -07:00
Michael Scire
480a66e06b
kern: update UserspaceAccess functions for 20.0.0 changes
2025-04-30 19:33:49 -07:00
Michael Scire
0dfaf712c7
kern: update KAddressSpaceInfo to reflect 20.0.0 changes
2025-04-30 18:56:47 -07:00
Michael Scire
80268e8187
kern: invert meaning of KTargetSystem/KSystemControl bools
2025-04-30 18:23:16 -07:00
Michael Scire
6125f40bdb
ams: various fixes to support booting debug configuration
2025-04-08 13:43:29 -07:00
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
3522ac18c1
kern: support reboot to fatal error on mariko
2024-10-15 21:48:59 -07:00
Michael Scire
e63cae5c77
kern: Perform page table validity pass during KPageTableImpl::InitializeForKernel
2024-10-15 21:48:59 -07:00
Michael Scire
c911420d6a
kern: fix more page table refactor bugs
2024-10-15 21:48:59 -07:00
Michael Scire
570989384b
kern: first round of page table refactor bug fixes
2024-10-15 21:48:59 -07:00
Michael Scire
4c81432e94
kern: update KPageTable::Map for new refactor
2024-10-15 21:48:59 -07:00
Michael Scire
e1e84d4450
kern: update ChangePermissions to use new iteration logic
2024-10-15 21:48:59 -07:00
Michael Scire
d2656e3948
kern: update KPageTable::Finalize for the refactor
2024-10-15 21:48:59 -07:00
Michael Scire
62abb31122
kern: use new merge pages api
2024-10-15 21:48:59 -07:00
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
9cfd535568
kern: invoke supervisor mode thread functions from C++ context with valid stack frame
2024-10-15 21:48:59 -07:00
Michael Scire
3b03b9603c
kern: specify allowable ipc client memory attr via inverted-whitelist, not blacklist
2024-10-15 21:48:59 -07:00
Michael Scire
912b84c4e3
kern: add minimum alignment support to KMemoryManager
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
00716576cd
kern: simplify KProcess max memory calculation
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
3394a88a1a
kern: fix debug build
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
c3fa42d958
kern: clear gicd/gicc pointers in KInterruptController::Finalize
2024-10-15 21:48:59 -07:00
Michael Scire
126cb8bbdf
kern: fix KMemoryBlock ctor reorder warn
2024-10-15 21:48:59 -07:00
Michael Scire
753cf74bf2
kern: eliminate use of KMemoryInfo, shuffle KMemoryBlock fields
2024-10-15 21:48:59 -07:00
Michael Scire
70bf833070
kern: KAddressSpaceInfo now takes CreateProcessFlags in getters
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
5de551db29
kern: add InfoType_TransferMemoryHint
2024-10-15 21:48:59 -07:00
Michael Scire
10c7a39528
kern/creport: use mod0 to locate symbol table for all modules
2024-09-24 13:15:21 -07:00
Michael Scire
423a05a1e9
meso: fix sign-comparison warn on svc/interrupt flag compare
2024-09-01 16:27:01 -07:00
Michael Scire
29cc13543a
kern: fix using memory config for half-of-true-size
2024-03-29 03:18:20 -07:00
Michael Scire
c0487ad384
kern: fix whoops in new page table logic
2024-03-29 02:41:14 -07:00
Michael Scire
ecbe5cd406
kern: refactor smc helpers to share more common logic
2024-03-29 02:41:14 -07:00
Michael Scire
4fe139ea52
kern: return ExceptionType_UnalignedData on data abort caused by alignment fault
2024-03-29 02:41:14 -07:00
Michael Scire
6922eae3e7
kern: add KPageGroup::CopyRangeTo
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
c0a4fc30a8
kern: simplify size calculations in KPageTableBase::Read/WriteDebugIoMemory
2024-03-29 02:41:14 -07:00
Michael Scire
0b04c89a84
kern: pass properties directly to KPageTableBase::AllocateAndMapPagesImpl
2024-03-29 02:41:14 -07:00
Michael Scire
217dd1260a
kern: take alignment argument in KMemoryManager::AllocateAndOpen
2024-03-29 02:41:14 -07:00
Michael Scire
8aa62a54d8
kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize
2024-03-29 02:41:14 -07:00