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
SciresM
823c0df6b9
kern: avoid constexpr init for many objects (avoids unnecessary memory clear) ( #1668 )
2021-10-26 01:11:13 -07:00
Michael Scire
002422d5dc
ams: the copyright^H^H^H^H^H^H^Hmplex plane is the algebraic closure of the reals
2021-10-07 23:06:25 -07:00
Michael Scire
204b389252
kern: devirtualize page table operations
2021-09-24 09:17:11 -07:00
Michael Scire
ecb607bade
kern/svc: implement IoPool/Region svc support
2021-09-19 10:35:39 -07:00
Michael Scire
b579a6d75e
svc/kern/dd: remove MapDeviceAddressSpace()
2021-09-19 10:35:39 -07:00
Michael Scire
f103b6876b
kern: KMemoryManager/KPageGroup use physical addresses instead of virtual, now
2021-09-19 10:35:38 -07:00
Michael Scire
765c854768
kern: implement improved [new page tables are zero] invariant
2021-07-06 07:28:30 -07:00
Michael Scire
e9d44eb71a
kern: fuck the KPolice^H^H^H^H^H^HPageGroups
2021-04-11 03:59:20 -07:00
Michael Scire
50ce41adf2
kern: use KScopedLightLockPair helper for page table pair-locks
2021-04-11 03:59:12 -07:00
Michael Scire
43900d4765
kern: track mapped ipc server memory in page table
2021-04-11 03:59:12 -07:00
Michael Scire
8df6062a1d
kern: add KPageTableBase::Read/WriteDebugIoMemory
2021-04-11 03:59:12 -07:00
Michael Scire
ca5e69f16d
kern: greatly improve codegen for atomics, scheduler
2021-01-13 10:41:26 -08:00
Michael Scire
4ddacf3384
kern: refactor to use m_ for member variables
2020-12-19 10:21:52 -08:00
Michael Scire
eb621c6aae
kern: implement memory debug
2020-12-11 03:49:02 -08:00
Michael Scire
7519d17941
kern: add kernel object debug
2020-12-11 03:49:01 -08:00
Michael Scire
f8999a2318
kern: remove KPageTableBase::MakeAndOpenContiguousPageGroup
2020-12-02 06:53:10 -08:00
Michael Scire
397d317a6c
kern: implement DisableDeviceAddressSpaceMerge
2020-12-02 06:53:10 -08:00
Michael Scire
f152b16639
kern: update KMemoryBlockManagerUpdateAllocator api
2020-12-02 06:53:09 -08:00
Michael Scire
394112f9ac
kern: update KPageTableBase for new disable-merge attrs
2020-12-02 06:53:08 -08:00
Michael Scire
f0b455de83
kern: refactor KMemoryLayout
2020-09-07 10:51:39 -07:00
Michael Scire
a5d7e8328b
kern: SvcQueryPhysicalAddress
2020-08-01 15:31:42 -07:00
Michael Scire
ef6ede3aeb
kern: SvcReadDebugProcessMemory, SvcWriteDebugProcessMemory
2020-08-01 15:31:40 -07:00
Michael Scire
85932bb91e
kern: fix ARM vs THUMB mode selection on 32-bit entry
2020-08-01 15:31:38 -07:00
Michael Scire
a7de710f09
kern: implement KCodeMemory (and SVCs)
2020-08-01 15:31:36 -07:00
Michael Scire
6935929c33
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
2020-08-01 15:31:33 -07:00
Michael Scire
dc8fccd168
kern: implement SvcMapPhysicalMemory
2020-08-01 15:31:31 -07:00
Michael Scire
16ce69e333
kern: SvcInvalidateProcessDataCache
2020-08-01 15:31:30 -07:00
Michael Scire
c0c9fe5fd3
kern: SvcMapProcessCodeMemory, SvcUnmapProcessCodeMemory
2020-08-01 15:31:29 -07:00
Michael Scire
0cfdef738d
kern: implement transfer memory (and SVCs)
2020-08-01 15:31:28 -07:00
Michael Scire
670824fa0a
kern: implement process exit
2020-08-01 15:31:27 -07:00
Michael Scire
417ed5f01c
kern: implement SvcSetMemoryAttribute
2020-08-01 15:31:27 -07:00
Michael Scire
fe48b9163d
kern: fully implement KSharedMemory (and Svcs)
2020-08-01 15:31:25 -07:00
Michael Scire
8cad49ee02
kern: add KProcess::Initialize (for non-kip processes)
2020-08-01 15:31:25 -07:00
Michael Scire
69274df795
kern: dump page table on user exception
2020-08-01 15:31:23 -07:00
Michael Scire
d501c3832a
kern: add infra (but not impl) for all DeviceAddressSpace svcs
2020-08-01 15:31:17 -07:00
Michael Scire
1a8393e8b2
kern: add SvcQueryIoMapping (NOTE: pre-10.x, ABI needs update)
2020-08-01 15:31:11 -07:00
Michael Scire
dbc6d39d85
kern: fix/add InfoType_(Total/Used)(NonSystem/)MemorySize
2020-08-01 15:31:10 -07:00
Michael Scire
cfece6452c
kern: implement IPC KPageTable functionality
2020-08-01 15:31:09 -07:00
Michael Scire
2a8979b6a1
kern: implement KPageTableBase::CopyHeapToHeap(WithoutCheckDestination)
2020-08-01 15:31:08 -07:00
Michael Scire
7a57010993
kern: add KPageTableBase::CopyMemory Linear <-> User and Linear <-> Kernel
2020-08-01 15:31:07 -07:00
Michael Scire
67c18a0008
ipc: add MapAlias processing logic for Receive
2020-08-01 15:31:04 -07:00
Michael Scire
f7b9ea9ff5
ipc::Reply -> add raw data copy logic
2020-08-01 15:31:04 -07:00
Michael Scire
d986b698d4
kern: implement SvcSendSyncRequest(WithUserBuffer)
2020-08-01 15:31:03 -07:00
Michael Scire
3c386e8ab3
kern: implement SvcMapMemory
2020-08-01 15:31:02 -07:00
Michael Scire
98ac3c7efc
kern: implement KEvent, KWritableEvent, KServerSession::OnClientClosed
2020-08-01 15:31:01 -07:00
Michael Scire
191e233745
kern: implement SvcUnmapMemory, more of SvcGetInfo
2020-08-01 15:31:00 -07:00
SciresM
7d041e853d
Switch atmosphere's build target to C++20. ( #952 )
...
* ams: update to build with gcc10/c++20
* remove mno-outline-atomics
* ams: take care of most TODO C++20s
* fusee/sept: update for gcc10
* whoosh, your code now uses pre-compiled headers
* make: dependency fixes
2020-05-12 15:44:19 -07:00
Michael Scire
4c1dc00766
kern: Update page bitmaps/alloc to reflect 10.0.0 changes
2020-04-24 17:29:09 -07:00
Michael Scire
b5f8d04924
kern: implement CallSecureMonitor, some of GetInfo/GetSystemInfo
2020-03-18 00:15:02 -07:00