Michael Scire
|
7cf0432569
|
kern: add KCodeMemory code left out of previous commit
|
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
|
3fb3beeaff
|
kern: SvcGetSystemTick
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
4bb9ef061a
|
kern: implement SvcGetThreadContext3
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
f70ee67753
|
kern: correct behavior when setting activity/core mask for pinned thread
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
787964f7e7
|
kern: implement thread pinning/SvcSynchronizePreemptionState
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
b1f38be3ae
|
kern: fix building under release config
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
9dc3e025fc
|
kern: Map L1/L2 blocks when possible
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
4ac94e9179
|
kern: improve KLightLock accuracy
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1448068b69
|
kern: fix assertion in KThread::(Try)Suspend
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
0af44d2875
|
kern: fix bug in page table mapping calculations
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
840ab0785c
|
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
583899ede3
|
kern: General system stability improvements to enhance the user's experience.
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
893b046111
|
kern: update interrupt manager
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1b9acc4a6a
|
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
cbecda2a27
|
kern: SvcQueryProcessMemory64, notification SvcBreaks
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
5ecc80a5f6
|
kern: implement SvcMapPhysicalMemory
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
695b82b945
|
kern: finish SvcGetInfo
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
fd9b986938
|
kern: Implement SecureMemory (system resource)
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
9231646f33
|
kern: implement SvcSleepSystem
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
418de7b0dc
|
kern: SvcInvalidateProcessDataCache
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
46935fea80
|
kern: fix resource leak bugs
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
11d5353827
|
kern: SvcMapProcessCodeMemory, SvcUnmapProcessCodeMemory
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
240e6227e9
|
kern: Fix bug when reducing heap size
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
1d4d637818
|
kern SvcGetCurrentProcessorNumber, SvcSetProcessActivity, half of SvcSetThreadActivity
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
23eed522d3
|
kern: SvcGetThreadCoreMask, SvcSetThreadCoreMask
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
c622539b95
|
kern: SvcSetMemoryPermission
|
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
|
3917ecad46
|
kern: add SvcFlushProcessDataCache, SvcStoreProcessDataCache
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
ab96255a5d
|
kern: implement SvcSetMemoryAttribute
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
eecf59dd00
|
kern: fix bugs in interrupt permittance, DpcManager init
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
afe7e41de8
|
kern: SvcGetProcessInfo, SvcTerminateProcess
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
632a75eee7
|
kern: KConditionVariable::SignalImpl
|
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
|
81db43932d
|
kern: add SvcStartProcess
|
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
|
8759cb4da3
|
kern: implement first half of SvcCreateProcess
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
fb6e85b291
|
kern: implement SvcMapProcessMemory, SvcUnmapProcessMemory
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
3cf793f87e
|
kern: implement KThread::Finalize
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
3265927ed7
|
kern: KDevicePageTable::Finalize, InfoType_RandomEntropy
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
0c82709af4
|
kern: fix attribute checks in device unmap
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
058f223b97
|
kern: finish SvcGetSystemInfo
|
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
|
266001ded4
|
kern: implement ResourceLimit Svcs
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
ea6000b372
|
kern: add ResourceLimit to svcGetInfo
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
4fca870f2f
|
kern: fix incorrect cache routines, implement SvcSetProcessMemoryPermission
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
26df56cd87
|
kern: implement SvcCancelSynchronization
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
5b8a20dbf7
|
kern: fix bug in SvcSetThreadPriority
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
94f9cc1626
|
kern: SvcCreateSession, KDebug finalization
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
36eb78a3ce
|
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
0bd14b7114
|
kern: fix bug in KPageTableBase::SetupForIpcServer
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
75e6999668
|
kern: implement SvcSetThreadPriority
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
5fa59ec888
|
kern: fix kscheduler interrupt api, adjust debug logging
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
fae2daf77c
|
kern: fix bug in up/downcasting of scoped auto objects
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
8d507aa5a1
|
kern: implement SvcSignalToAddress, SvcWaitForAddress
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
a0cc22302c
|
kern: add KAddressArbiter::WaitIfEqual
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
01a7606f95
|
kern: implement SvcSetHeapSize
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
9c4c058307
|
kern: implement all device address space svcs
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
9beb05da50
|
kern: retrieve target firmware from exosphere instead of hardcoding
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
2ca6772475
|
kern: implement DetachDeviceAddressSpace, skeleton other das funcs in KDevicePageTable
|
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
|
863515a3b5
|
kern: qualify inherited KAutoObjectWithListContainer accessor typenames
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
fe035736ca
|
kern: implement SvcGetProcessList
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
cfddb75398
|
kern: add SvcCreateDeviceAddressSpace, SvcAttachDeviceAddressSpace
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
04f325cf5a
|
kern: implement SvcCreateInterruptEvent
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
b35380a942
|
kern: implement SvcCreateEvent, SvcSignalEvent, SvcClearEvent, SvcResetSignal
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
93be2ffcba
|
kern: add SvcCreatePort, SvcConnectToPort
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
9f79710cb7
|
kern: add SvcReadWriteRegister
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
ef1763334b
|
kern: patch svc tables via asm, instead of relying on compiler to be nice
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
d9e9fbe3c2
|
kern: Implement QueryIoMapping logic for < 8.0.0
|
2020-07-31 14:50:52 -07:00 |
|
Michael Scire
|
ff022115ca
|
kern: Support older SVC ABIs
|
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
|
35c1959131
|
kern: assert correctness for complete class hierarchy
|
2020-07-13 11:11:30 -07:00 |
|
Michael Scire
|
84d8634938
|
kern: fix bugs in Receive/Exchange ipc buffers
|
2020-07-13 10:02:01 -07:00 |
|
Michael Scire
|
095fc6b996
|
kern: fix UpdateLock perms for ipc
|
2020-07-12 22:22:54 -07:00 |
|
Michael Scire
|
bc767742f7
|
kern: fix unaligned map alias buffers
|
2020-07-12 18:53:45 -07:00 |
|
Michael Scire
|
e2e5a2ccc2
|
kern: fix bugs in MapAlias ipc mappings
|
2020-07-12 18:17:29 -07:00 |
|
Michael Scire
|
a8d4b10b17
|
kern: implement IPC KPageTable functionality
|
2020-07-12 15:42:47 -07:00 |
|
Michael Scire
|
3c8d8161cc
|
kern: fix bug in ToMessageBuffer pointer transfer selection
|
2020-07-11 02:06:44 -07:00 |
|
Michael Scire
|
4a7ce9dd75
|
kern/KScheduler: implement special yields
|
2020-07-11 00:48:26 -07:00 |
|
Michael Scire
|
ca9327a120
|
kern: implement SvcSleepThread for ns > 0
|
2020-07-10 23:30:15 -07:00 |
|
Michael Scire
|
f37eda6b86
|
kern: implement KPageTableBase::CopyHeapToHeap(WithoutCheckDestination)
|
2020-07-10 21:37:56 -07:00 |
|
Michael Scire
|
c72bdec328
|
kern: add KPageTableBase::CopyMemory Linear <-> User and Linear <-> Kernel
|
2020-07-10 20:09:06 -07:00 |
|
Michael Scire
|
4a767c9082
|
kern: mostly implement thread exit
|
2020-07-10 18:39:53 -07:00 |
|
Michael Scire
|
c8f71007ec
|
kern/ipc: fix bug in SendMessage
|
2020-07-10 16:57:11 -07:00 |
|
Michael Scire
|
4ff10f3ce0
|
kern/ipc: implement remaining KServerSession reply code
|
2020-07-10 16:46:55 -07:00 |
|
Michael Scire
|
d52655eaf1
|
kern: add SvcExitThread, SvcSendAsyncRequestWithUserBuffer, SvcReplyAndReceiveWithUserBuffer
|
2020-07-10 15:31:23 -07:00 |
|
Michael Scire
|
1b429918de
|
kern/ipc: implement most of reply
|
2020-07-10 13:42:36 -07:00 |
|
Michael Scire
|
b29dc76b20
|
kern/ipc: implement SendReply, declare SendMessage
|
2020-07-10 12:49:52 -07:00 |
|
Michael Scire
|
2ec4ed3568
|
kern/ipc: add Atmosphere's mitm pid passthrough logic
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
4e226b523e
|
ipc/receive: trivially correct result return codeflow
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
9fa6d12586
|
kern/ipc: finish Receive part of ReplyAndReceive
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
804aa0e55d
|
ipc: add MapAlias processing logic for Receive
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
9d57783aa8
|
ipc::Reply -> implement Pointer handling logic
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
a510a1138d
|
ipc::Reply -> add raw data copy logic
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
4e667bc7c1
|
kern: implement remaining non-KServerSession:: part of Reply/Receive
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
84b1be1d58
|
kern: partially implement Receive half of ReplyAndReceive
|
2020-07-10 11:55:33 -07:00 |
|
Michael Scire
|
1b2203d102
|
kern: implement SvcSendSyncRequest(WithUserBuffer)
|
2020-07-10 11:55:33 -07:00 |
|