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 |
|
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
|
900913fe3b
|
kern: fix longstanding bug in ConvertToKMemoryPermission
|
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
|
06a840e550
|
kern: fix operation type enum-value whoops
|
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
|
2c5002ce50
|
kern: update KMemoryRegionType values for new ids + SecureUnknown region
|
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
|
cfd2d5b012
|
kern: clear new pages in init page allocator, not init page table
|
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 |
|
Michael Scire
|
ec96203cb7
|
kern: remove unnecessary fields from InitArgs (0x80 -> 0x40)
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
0daef4a6e8
|
kern/ldr: move crt0 into .rodata
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
4ca3c44e5f
|
kern: pass ini1 size from loader to kernel, remove slab memset from init0
|
2023-10-12 08:55:58 -07:00 |
|
Michael Scire
|
1f5ec68a5c
|
ams: fix compilation with gcc 13
|
2023-05-07 03:36:46 -07:00 |
|
Michael Scire
|
ed9e60acb9
|
kern: track heap in KPageTableBase::MemoryRange
|
2023-04-30 16:50:53 -07:00 |
|
Michael Scire
|
e9b28ab4b1
|
kern: adjust wording to be more technically correct
|
2023-03-27 10:54:58 -07:00 |
|
Michael Scire
|
a8df400825
|
kern: fix stray addressof operator
|
2023-03-08 09:46:38 -07:00 |
|
Michael Scire
|
8da4d14e15
|
kern: minor cleanup (thanks @liamwhite)
|
2023-03-06 21:18:00 -07:00 |
|
Michael Scire
|
3292ea5970
|
kern: fix stray comment copy/paste error
|
2023-02-23 22:00:00 -07:00 |
|
Michael Scire
|
d64ab354ad
|
kern: 16.x web applet crashes on exit with 48 MB stolen (rip)
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
406320f6ec
|
kern: better divide non-secure size, don't waste fatal memory unless necessary
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
aad2be0a01
|
kern: delete creation time field from KProcess
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
25383db524
|
kern: add InfoType_IoRegionHint
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
48f4c526f3
|
kern: refactor priority inheritance to represent locks as C++ objects
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
1279d236f3
|
kern: remove unnecessary interrupt disables from arbiter/condvar
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
008eb974d4
|
kern: KConditionVariable::SignalToAddress now emits dmb before userspace write
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
035cebef9d
|
kern: refactor init (kill identity map, merge cpu on logic)
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
8db22967bf
|
kern: use variable-count parameter arrays for DebugEvents
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
db510f96c3
|
kern: update KSystemControl::InitializePhase1, dynamically scale 39-bit address space regions
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
6e2dd791b2
|
kern: update for new ChangePermissions page table operation
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
bff61c68ab
|
kern: adjust pool allocations
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
ca7734ffaf
|
kern: simplify KSchedulerLock::Lock
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
ed22f802ee
|
kern: allow QueryIoMapping to find Static mappings
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
8ffc177b44
|
kern: update UnmapIoRegion for new Mapping_Memory handling
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
c058376b3b
|
kern: use tree for IoPool regions instead of list
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
d5ebf13094
|
kern: optimize userspace access asm to use cheaper instruction in io memory loops
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
695c125721
|
kern: use different psr masks for 64 and 32-bit El0 threads
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
e7e3e7b374
|
kern: increase stack parameter size by 0x10
|
2023-02-22 17:19:51 -08:00 |
|
Michael Scire
|
3a5f406c5f
|
kern: update scheduler for new switch count tracking logic
|
2023-02-21 03:12:17 -07:00 |
|
Michael Scire
|
7a69f2f062
|
kern/pm: only steal 8 MB from applet.
WebApplet crashes on exit with 16 more MB stolen, apparently.
|
2023-01-24 19:54:28 -07:00 |
|
Michael Scire
|
0dd071b279
|
romfs: thank you fire emblem, very cool (closes #2021)
|
2023-01-24 14:07:50 -07:00 |
|
Michael Scire
|
e4b9930bf3
|
kern: fix unnecessarily strong load in aligned spinlock
Copy-paste error I didn't notice for two years, whoops
|
2022-12-25 01:56:31 -07:00 |
|
Michael Scire
|
1f8798ace7
|
kern: fix GetProcessId wrong result on invalid parameter
|
2022-12-04 13:40:44 -07:00 |
|
Michael Scire
|
bf4fdf6188
|
kern: update for new exception flag semantics
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
13238fc4fd
|
kern: use slab allocated KSessionRequest dynamic mappings
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
e7a1e0fee2
|
kern: implement Svc(Un)MapInsecureMemory
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
5a918f3bc9
|
kern: move SecureAppletMemory/KPageBuffer heap into the ResourceRegion
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
ea82889e6c
|
kern: increase stack region size when thread resource limit is increased
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
7f2cbba543
|
kern: Implement new PageTable operations/PhysicalMemory reference semantics
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
5ee7d8a5ed
|
kern: update for new device map semantics
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
947fdcf6f6
|
kern: merge/simplify KInterruptEventTask into KInterruptEvent
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
2e73f33eb0
|
kern: implement K(Secure)SystemResource
|
2022-10-12 09:15:16 -07:00 |
|
Michael Scire
|
752704a798
|
kern: update handle table init
|
2022-10-12 09:15:16 -07:00 |
|
Liam
|
e702eab21c
|
KScheduler: fix documentation mistakes
|
2022-06-29 17:28:26 -07:00 |
|
Michael Scire
|
20d200471d
|
kern: optimize postfix-compare to prefix-compare, result logic is identical but breaks earlier in some paths
|
2022-06-07 23:49:31 -07:00 |
|
Michael Scire
|
5f2d713fe4
|
kern: mea culpa (some time since 7.x)
|
2022-06-07 23:40:32 -07:00 |
|
Michael Scire
|
383fc2cc99
|
kern: codegen tweaks, now that we're no longer -Os
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
1ca2f61527
|
kern: good night sweet prince
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
cdc619a8a6
|
kern: on second thought, gcc built ins are for chumps
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
ff07ba4201
|
kern: implement revised IPI/SGI semantics
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
9d89835ff8
|
kern: update for new hw maintenance semantics
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
6e17317d5d
|
kern: implement new thread context/fpu semantics
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
401047f603
|
kern: implement additional randomness in KPageHeap allocations
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
24739f245e
|
kern: enforce end of dram == end of partitions (move our probably outdated KTraceBuffer to new location)
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
8cb3cfd835
|
kern: add new KCapability checks before creating process
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
14e768cd10
|
kern: add InfoType_IsSvcPermitted
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
ef1b67b87b
|
kern: enforce maximum secure region size
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
8ef6c49d30
|
kern: print kernel backtrace on panic
|
2022-03-23 09:10:50 -07:00 |
|
Michael Scire
|
e05df99342
|
pm/kern: update for 14.0.0
|
2022-03-23 09:10:50 -07:00 |
|