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
|
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
|
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 |
|
Michael Scire
|
25bae14064
|
kern: revise KPageTableBase region layout logic to match 18.0.0 changes
|
2024-03-29 02:41:14 -07:00 |
|
Michael Scire
|
7562f807fd
|
kern: pass kernel base from KernelLdr to Kernel
|
2024-03-29 02:41:14 -07:00 |
|
Michael Scire
|
cf5895e04f
|
kern: use userspace access instructions to read from tlr
|
2024-03-29 02:41:14 -07:00 |
|
Michael Scire
|
e09ba765a1
|
kern: fix various comment/style hygiene issues (thanks @liamwhite)
|
2023-12-27 23:24:35 -07:00 |
|
Michael Scire
|
3217df147e
|
kern: allow ktrace map capability when ktrace is disabled
|
2023-12-27 23:17:52 -07:00 |
|
Michael Scire
|
872c18c501
|
kern: fix some comment typos
|
2023-11-01 10:25:31 -07:00 |
|
Michael Scire
|
afc0e14556
|
kern/svc: fix query/insecure names
|
2023-11-01 10:24:13 -07:00 |
|
Michael Scire
|
693fb423cb
|
kern: fix minor sin
|
2023-10-12 14:25:17 -07:00 |
|
Michael Scire
|
6d0bf70783
|
kern: fix assert usage in process load
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
11c02e22e0
|
kern: implement support for applying relr relocations
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
f93aea4c06
|
kern: split Process/Thread exit to separate WorkerTaskManagers
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
4ddfb6183c
|
kern: split out GetInstructionDataUserMode in exception handler
|
2023-10-12 08:55:58 -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
|
7b523cfc8d
|
kern: note OnFinalize calls in KPageTable::Finalize
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
39a95d4023
|
kern: implement new default application system resource field in KProcess
|
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
|
ad5bd81d3f
|
kern: implement PermissionLock, update KPageTableBase attribute/alignment checks
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
777b6d285c
|
kern: KPageTableBase::CheckMemoryState now invokes a helper
|
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
|
3b8f65d502
|
kern: update initial process load logic to do per-segment mapping/decompression
|
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 |
|