Commit Graph

550 Commits

Author SHA1 Message Date
Michael Scire
2c77b3e1e3 kern: fix assert usage in process load 2023-10-12 09:22:28 -07:00
Michael Scire
d211eb4de7 kern: implement support for applying relr relocations 2023-10-12 09:22:27 -07:00
Michael Scire
a55dbf0819 kern: split Process/Thread exit to separate WorkerTaskManagers 2023-10-12 09:22:27 -07:00
Michael Scire
d213377313 kern: split out GetInstructionDataUserMode in exception handler 2023-10-12 09:22:26 -07:00
Michael Scire
e07b0a924d kern: Add special-case for InvalidateProcessDataCache on current process 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
dfbd37e448 kern: implement new default application system resource field in KProcess 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
15ca0c1b10 kern: implement PermissionLock, update KPageTableBase attribute/alignment checks 2023-10-12 09:22:24 -07:00
Michael Scire
d4319842a9 kern: KPageTableBase::CheckMemoryState now invokes a helper 2023-10-12 09:22:23 -07:00
Michael Scire
c8f04e21e5 kern: update KMemoryState, remove bijection (separate IoRegister/IoMemory) 2023-10-12 09:22:23 -07:00
Michael Scire
2c2aa8b57c kern: update initial process load logic to do per-segment mapping/decompression 2023-10-12 09:22:23 -07:00
Michael Scire
8d84b5776f kern: add speculation barriers after eret 2023-10-12 09:22:22 -07:00
Michael Scire
d21f281094 kern: remove unnecessary fields from InitArgs (0x80 -> 0x40) 2023-10-12 09:22:22 -07:00
Michael Scire
ba1a07db68 kern: pass ini1 size from loader to kernel, remove slab memset from init0 2023-10-12 09:22:21 -07:00
Michael Scire
5d883f22c8 ams: fix compilation with gcc 13 2023-05-08 18:06:07 -07:00
Michael Scire
2db2e41398 kern: track heap in KPageTableBase::MemoryRange 2023-05-08 18:06:06 -07:00
Michael Scire
7ca08f0c99 kern: fix stray addressof operator 2023-03-13 17:17:07 -07:00
Michael Scire
8ccd35988a kern: 16.x web applet crashes on exit with 48 MB stolen (rip) 2023-02-23 09:00:36 -07:00
Michael Scire
429f3aa49d kern: better divide non-secure size, don't waste fatal memory unless necessary 2023-02-23 09:00:33 -07:00
Michael Scire
a47e5c387d kern: delete creation time field from KProcess 2023-02-23 09:00:33 -07:00
Michael Scire
7451d0c8ab kern: add InfoType_IoRegionHint 2023-02-23 09:00:32 -07:00
Michael Scire
7042cd28a1 kern: refactor priority inheritance to represent locks as C++ objects 2023-02-23 09:00:32 -07:00
Michael Scire
e5f193c0bc kern: remove unnecessary interrupt disables from arbiter/condvar 2023-02-23 09:00:32 -07:00
Michael Scire
c506ac0a6f kern: KConditionVariable::SignalToAddress now emits dmb before userspace write 2023-02-23 09:00:31 -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
913710ddf3 kern: update KSystemControl::InitializePhase1, dynamically scale 39-bit address space regions 2023-02-23 09:00:30 -07:00
Michael Scire
8afa5a9057 kern: update for new ChangePermissions page table operation 2023-02-23 09:00:30 -07:00
Michael Scire
2a651f73c9 kern: adjust pool allocations 2023-02-23 09:00:29 -07:00
Michael Scire
2840e2c958 kern: allow QueryIoMapping to find Static mappings 2023-02-23 09:00:29 -07:00
Michael Scire
07213a23fb kern: update UnmapIoRegion for new Mapping_Memory handling 2023-02-23 09:00:28 -07:00
Michael Scire
6bd8bdc020 kern: use tree for IoPool regions instead of list 2023-02-23 09:00:28 -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
30ecdbcf6a kern: update scheduler for new switch count tracking logic 2023-02-23 09:00:26 -07:00
Michael Scire
5f3af914d8 kern/pm: only steal 8 MB from applet.
WebApplet crashes on exit with 16 more MB stolen, apparently.
2023-02-23 09:00:25 -07:00
Michael Scire
be7700023b romfs: thank you fire emblem, very cool (closes #2021) 2023-01-24 14:39:20 -07:00
Michael Scire
9ca1336762 kern: fix GetProcessId wrong result on invalid parameter 2023-01-24 14:39:16 -07:00
Michael Scire
a3cbed96d0 kern: update for new exception flag semantics 2022-10-12 09:15:51 -07:00
Michael Scire
63e9c62380 kern: use slab allocated KSessionRequest dynamic mappings 2022-10-12 09:15:50 -07:00
Michael Scire
22a4a85fb2 kern: implement Svc(Un)MapInsecureMemory 2022-10-12 09:15:50 -07:00
Michael Scire
9fc57cbbbb kern: move SecureAppletMemory/KPageBuffer heap into the ResourceRegion 2022-10-12 09:15:50 -07:00
Michael Scire
5f10b6670d kern: increase stack region size when thread resource limit is increased 2022-10-12 09:15:49 -07:00
Michael Scire
e4825cc879 kern: Implement new PageTable operations/PhysicalMemory reference semantics 2022-10-12 09:15:49 -07:00
Michael Scire
cfe81a7eb3 kern: update for new device map semantics 2022-10-12 09:15:49 -07:00
Michael Scire
4c74021035 kern: merge/simplify KInterruptEventTask into KInterruptEvent 2022-10-12 09:15:48 -07:00