Michael Scire
c8ff437971
kern: Add special-case for InvalidateProcessDataCache on current process
2023-10-11 09:37:45 -07:00
Michael Scire
46ccb6d71a
kern: KPageTable: remove MapFirst operation, replace with MapFirstGroup
2023-10-11 09:32:23 -07:00
Michael Scire
adfe8b933e
kern: KPageTableBase::CheckMemoryState now invokes a helper
2023-10-11 05:11:50 -07:00
Michael Scire
5aba96d029
kern: update KMemoryState, remove bijection (separate IoRegister/IoMemory)
2023-10-11 05:00:23 -07:00
Michael Scire
ed9e60acb9
kern: track heap in KPageTableBase::MemoryRange
2023-04-30 16:50:53 -07:00
Michael Scire
6e2dd791b2
kern: update for new ChangePermissions page table operation
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
e7a1e0fee2
kern: implement Svc(Un)MapInsecureMemory
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
2e73f33eb0
kern: implement K(Secure)SystemResource
2022-10-12 09:15:16 -07:00
SciresM
96f95b9f95
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-02-14 14:45:32 -08:00
SciresM
36e4914be8
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-23 15:25:20 -07:00
Michael Scire
77fe5cf6f5
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-04 12:59:10 -07:00
Michael Scire
3fe072a1d0
kern: devirtualize page table operations
2021-09-21 10:09:27 -07:00
Michael Scire
f6fb5f2c8d
kern/svc: implement IoPool/Region svc support
2021-09-19 10:34:31 -07:00
Michael Scire
ce7dd55257
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:34:31 -07:00
Michael Scire
2f2c36b22b
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
2021-09-19 10:34:31 -07:00
Michael Scire
4892ffae15
kern: implement improved [new page tables are zero] invariant
2021-06-17 13:03:46 -07:00
Michael Scire
96937a611d
kern: fuck the KPolice^H^H^H^H^H^HPageGroups
2021-04-11 03:42:16 -07:00
Michael Scire
85f9355184
kern: use KScopedLightLockPair helper for page table pair-locks
2021-04-11 03:42:16 -07:00
Michael Scire
60b5bd73b7
kern: track mapped ipc server memory in page table
2021-04-11 03:42:16 -07:00
Michael Scire
53e7aa0a20
kern: add KPageTableBase::Read/WriteDebugIoMemory
2021-04-11 03:42:16 -07:00
Michael Scire
4aa18b06e8
kern: greatly improve codegen for atomics, scheduler
2021-01-08 02:13:43 -08:00
Michael Scire
968f50bc07
kern: refactor to use m_ for member variables
2020-12-18 13:31:01 -08:00
Michael Scire
be8473cf65
kern: implement memory debug
2020-12-10 16:32:19 -08:00
Michael Scire
1a6e003a5d
kern: add kernel object debug
2020-12-10 03:31:57 -08:00
Michael Scire
7b279ab863
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
2020-12-02 06:43:37 -08:00
Michael Scire
6a85f7225d
kern: implement DisableDeviceAddressSpaceMerge
2020-12-02 06:43:37 -08:00
Michael Scire
281dcf232a
kern: update KMemoryBlockManagerUpdateAllocator api
2020-12-02 06:43:37 -08:00
Michael Scire
4a216dc928
kern: update KPageTableBase for new disable-merge attrs
2020-12-02 06:43:37 -08:00
Michael Scire
1b63002f91
kern: refactor KMemoryLayout
2020-08-18 15:17:40 -07:00
Michael Scire
91fa0d651f
kern: SvcQueryPhysicalAddress
2020-07-31 14:50:52 -07:00
Michael Scire
f6f43300e0
kern: SvcReadDebugProcessMemory, SvcWriteDebugProcessMemory
2020-07-31 14:50:52 -07:00
Michael Scire
5de853b662
kern: fix ARM vs THUMB mode selection on 32-bit entry
2020-07-31 14:50:52 -07:00
Michael Scire
39b22cee8c
kern: implement KCodeMemory (and SVCs)
2020-07-31 14:50:52 -07:00
Michael Scire
840ab0785c
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
2020-07-31 14:50:52 -07:00
Michael Scire
5ecc80a5f6
kern: implement SvcMapPhysicalMemory
2020-07-31 14:50:52 -07:00
Michael Scire
418de7b0dc
kern: SvcInvalidateProcessDataCache
2020-07-31 14:50:52 -07:00
Michael Scire
11d5353827
kern: SvcMapProcessCodeMemory, SvcUnmapProcessCodeMemory
2020-07-31 14:50:52 -07:00
Michael Scire
d87a9f011c
kern: implement transfer memory (and SVCs)
2020-07-31 14:50:52 -07:00
Michael Scire
28aab09b5d
kern: implement process exit
2020-07-31 14:50:52 -07:00
Michael Scire
ab96255a5d
kern: implement SvcSetMemoryAttribute
2020-07-31 14:50:52 -07:00
Michael Scire
7aa3120f60
kern: fully implement KSharedMemory (and Svcs)
2020-07-31 14:50:52 -07:00
Michael Scire
51311a7332
kern: add KProcess::Initialize (for non-kip processes)
2020-07-31 14:50:52 -07:00
Michael Scire
dea1235e12
kern: dump page table on user exception
2020-07-31 14:50:52 -07:00
Michael Scire
0d3aa13f70
kern: add infra (but not impl) for all DeviceAddressSpace svcs
2020-07-31 14:50:52 -07:00
Michael Scire
18698bf1d3
kern: add SvcQueryIoMapping (NOTE: pre-10.x, ABI needs update)
2020-07-13 13:24:32 -07:00
Michael Scire
57867d6ced
kern: fix/add InfoType_(Total/Used)(NonSystem/)MemorySize
2020-07-13 12:17:28 -07:00
Michael Scire
a8d4b10b17
kern: implement IPC KPageTable functionality
2020-07-12 15:42:47 -07:00