Michael Scire
6571df6cbc
kern: implement new attr tracking for memory range/traversal context
2024-03-29 02:55:04 -07:00
Michael Scire
5f4f668d97
kern: simplify size calculations in KPageTableBase::Read/WriteDebugIoMemory
2024-03-29 02:55:04 -07:00
Michael Scire
7ef8ee44f8
kern: pass properties directly to KPageTableBase::AllocateAndMapPagesImpl
2024-03-29 02:55:03 -07:00
Michael Scire
1e2dc76755
kern: take alignment argument in KMemoryManager::AllocateAndOpen
2024-03-29 02:55:03 -07:00
Michael Scire
60e3c8a4cc
kern/os: support CreateProcessFlag_EnableAliasRegionExtraSize
2024-03-29 02:55:02 -07:00
Michael Scire
8af707b13f
kern: revise KPageTableBase region layout logic to match 18.0.0 changes
2024-03-29 02:55:02 -07:00
Michael Scire
cafc0eae1b
kern: fix longstanding bug in ConvertToKMemoryPermission
2024-03-29 02:55:01 -07:00
Michael Scire
44d728cc1c
kern: pass kernel base from KernelLdr to Kernel
2024-03-29 02:55:01 -07:00
Michael Scire
d7c77f731e
kern: use userspace access instructions to read from tlr
2024-03-29 02:55:00 -07:00
Michael Scire
e015f83806
kern: fix various comment/style hygiene issues (thanks @liamwhite)
2024-03-29 02:54:55 -07:00
Michael Scire
fc34cf9b20
kern: allow ktrace map capability when ktrace is disabled
2024-03-29 02:54:55 -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
74d96b5fea
kern: fix minor sin
2023-10-16 12:30:43 -07:00
Michael Scire
2c77b3e1e3
kern: fix assert usage in process load
2023-10-12 09:22:28 -07:00
Michael Scire
224be3e9f1
kern: fix operation type enum-value whoops
2023-10-12 09:22:27 -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
9d485e7df9
kern: update KMemoryRegionType values for new ids + SecureUnknown region
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
a6e34647de
kern: clear new pages in init page allocator, not init page table
2023-10-12 09:22:22 -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
3abc567a73
kern/ldr: move crt0 into .rodata
2023-10-12 09:22:21 -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
c1e9ba08dc
kern: adjust wording to be more technically correct
2023-04-17 14:19:31 -07:00
Michael Scire
7ca08f0c99
kern: fix stray addressof operator
2023-03-13 17:17:07 -07:00
Michael Scire
1d3c3230fc
kern: minor cleanup (thanks @liamwhite)
2023-03-13 17:17:06 -07:00
Michael Scire
a556909c10
kern: fix stray comment copy/paste error
2023-03-13 17:17:03 -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
ec29feb497
kern: simplify KSchedulerLock::Lock
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
044c8fbd72
kern: fix unnecessarily strong load in aligned spinlock
...
Copy-paste error I didn't notice for two years, whoops
2023-01-24 14:39:17 -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
Michael Scire
8ca94db643
kern: implement K(Secure)SystemResource
2022-10-12 09:15:48 -07:00
Michael Scire
2e9d055b19
kern: update handle table init
2022-10-12 09:15:48 -07:00
Liam
d24ea71108
KScheduler: fix documentation mistakes
2022-10-12 09:15:42 -07:00
Michael Scire
dcf2d7ff9b
kern: optimize postfix-compare to prefix-compare, result logic is identical but breaks earlier in some paths
2022-10-12 09:15:39 -07:00
Michael Scire
35e1208092
kern: mea culpa (some time since 7.x)
2022-10-12 09:15:39 -07:00
Michael Scire
737720086b
kern: codegen tweaks, now that we're no longer -Os
2022-03-23 09:16:07 -07:00
Michael Scire
2d8a1c85de
kern: good night sweet prince
2022-03-23 09:16:07 -07:00
Michael Scire
4689ef9033
kern: on second thought, gcc built ins are for chumps
2022-03-23 09:16:07 -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
Michael Scire
52e51c0634
kern: implement additional randomness in KPageHeap allocations
2022-03-23 09:16:05 -07:00
Michael Scire
692742b434
kern: enforce end of dram == end of partitions (move our probably outdated KTraceBuffer to new location)
2022-03-23 09:16:04 -07:00
Michael Scire
3be59053ca
kern: add new KCapability checks before creating process
2022-03-23 09:16:04 -07:00
Michael Scire
a3b74aece9
kern: add InfoType_IsSvcPermitted
2022-03-23 09:16:04 -07:00
Michael Scire
8bbfe8d277
kern: enforce maximum secure region size
2022-03-23 09:16:04 -07:00
Michael Scire
11cedaf353
kern: print kernel backtrace on panic
2022-03-23 09:16:03 -07:00
Michael Scire
ab25a959f2
pm/kern: update for 14.0.0
2022-03-23 09:15:57 -07:00
Michael Scire
1f2822fafe
abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)
2022-03-23 09:15:49 -07:00
Michael Scire
d7a9c7ec4c
ams: support building unit test programs on windows/linux/macos
2022-03-23 09:15:46 -07:00
merry
a2e891d5e8
KThreadContext: Use El0PsrMask constant in GetUserContext
2022-03-23 09:15:46 -07:00
Michael Scire
9f7ff7a64a
kern: fix syntax in audit statement
2022-03-23 09:15:41 -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
ee45932d52
kern: add missing debug mode check to WriteDebugProcessMemory
2022-01-19 16:28:54 -08:00
Michael Scire
9436b9a555
ams: deduplicate static initialization logic
2022-01-19 16:28:54 -08:00
Michael Scire
a1b462adda
kern: fix vi devicename missing in HsSupported device list
2022-01-19 16:28:54 -08:00
Michael Scire
1271ae28e1
kern: correct TotalUserPhysicalMemorySize ( closes #1710 )
2021-11-30 16:34:45 -08:00