Michael Scire
|
b9504f356f
|
microkernel: hot paths are pretty fucking hot
|
2020-12-02 06:53:20 -08:00 |
|
Michael Scire
|
f3e127f147
|
kern: fix SvcGetResourceLimitPeakValue
|
2020-12-02 06:53:20 -08:00 |
|
Michael Scire
|
0eb6e0a963
|
kern: add new overflow checks on KMemoryRegions
|
2020-12-02 06:53:17 -08:00 |
|
Michael Scire
|
7779d7d06d
|
kern: stubs for Svc39, 3A, 46, 47
|
2020-12-02 06:53:16 -08:00 |
|
Michael Scire
|
e4774a2685
|
kern: implement 64-virtual-core interface
|
2020-12-02 06:53:15 -08:00 |
|
Michael Scire
|
a01f7ab1c9
|
kern: improve KSynchronizationObject, kill KSynchronization
|
2020-12-02 06:53:14 -08:00 |
|
Michael Scire
|
1582110af7
|
kern: KObjectContainer::Register -> void
|
2020-12-02 06:53:12 -08:00 |
|
Michael Scire
|
0063ede635
|
kern: SvcGetResourceLimitPeakValue
|
2020-12-02 06:53:10 -08:00 |
|
Michael Scire
|
e7e63e19b9
|
kern: fix KCodeMemory SVCs when Owner process != Generator process
|
2020-09-17 08:34:23 -07:00 |
|
Michael Scire
|
22f2946671
|
kern: begin 1.0.0 backwards compat changes (kips run, full boot fails)
|
2020-09-07 10:51:50 -07:00 |
|
Michael Scire
|
1aedaa0f91
|
kern: support 2-pool layout on 2.x-4.x instead of modern 4-pool layout
|
2020-09-07 10:51:50 -07:00 |
|
Michael Scire
|
c89927177e
|
kern: expose mesosphere meta over GetInfo instead of GetSystemInfo
|
2020-09-07 10:51:48 -07:00 |
|
Michael Scire
|
8836a5385c
|
kern/pm: support for 5.x under mesosphere
|
2020-09-07 10:51:47 -07:00 |
|
Michael Scire
|
f577ffa682
|
kern: fix reference leak in KThread::GetThreadFromId callers
|
2020-09-07 10:51:44 -07:00 |
|
Michael Scire
|
d7e420c895
|
kern: SvcLegacyGetFutureThreadInfo
|
2020-09-07 10:51:40 -07:00 |
|
Michael Scire
|
f0b455de83
|
kern: refactor KMemoryLayout
|
2020-09-07 10:51:39 -07:00 |
|
Michael Scire
|
6f177e3e84
|
kern: fix missing scheduler updates in KLightLock/Exception, fix RequestScheduleOnInterrupt
|
2020-09-07 10:51:38 -07:00 |
|
Michael Scire
|
db93ab974d
|
kern: SvcChangeKernelTraceState
|
2020-09-07 10:51:37 -07:00 |
|
Michael Scire
|
b31aa538da
|
kern: remove stray log in SetHeapSize
|
2020-09-07 10:51:37 -07:00 |
|
Michael Scire
|
dc59a2d2e5
|
kern: build with -Wextra
|
2020-09-07 10:51:36 -07:00 |
|
Michael Scire
|
b5c915a6f2
|
kern: complete final SVC stubs (KernelDebug/Trace debug-impl still TODO)
|
2020-08-01 15:31:46 -07:00 |
|
Michael Scire
|
227b9603cd
|
kern: SvcReturnFromException
|
2020-08-01 15:31:46 -07:00 |
|
Michael Scire
|
f80eb2c26f
|
kern SvcGetDebugThreadContext, SvcSetDebugThreadContext
|
2020-08-01 15:31:45 -07:00 |
|
Michael Scire
|
ff9d3ee1d6
|
kern: SvcGetDebugThreadParam
|
2020-08-01 15:31:45 -07:00 |
|
Michael Scire
|
c7f108082b
|
kern: resolve MESOSPHERE_UNIMPLEMENTEDs other than UserException
|
2020-08-01 15:31:44 -07:00 |
|
Michael Scire
|
3d5f2b7258
|
kern: Add real SvcBreak implementation
|
2020-08-01 15:31:43 -07:00 |
|
Michael Scire
|
b576737418
|
kern: SvcBreakDebugProcess, SvcTerminateDebugProcess
|
2020-08-01 15:31:43 -07:00 |
|
Michael Scire
|
179427687b
|
kern: SvcSetHardwareBreakPoint
|
2020-08-01 15:31:43 -07:00 |
|
Michael Scire
|
3b9403f3fc
|
kern: Svc(Legacy)ContinueDebugEvent
|
2020-08-01 15:31:42 -07:00 |
|
Michael Scire
|
349346ef34
|
kern: Add 4.x InitialProcessIdRange to SvcGetInfo
|
2020-08-01 15:31:42 -07:00 |
|
Michael Scire
|
a5d7e8328b
|
kern: SvcQueryPhysicalAddress
|
2020-08-01 15:31:42 -07:00 |
|
Michael Scire
|
35af9a4996
|
kern: style parity for return in GetThreadList
|
2020-08-01 15:31:42 -07:00 |
|
Michael Scire
|
83020ce2c4
|
kern: SvcGetThreadList
|
2020-08-01 15:31:41 -07:00 |
|
Michael Scire
|
a0de667005
|
kern: SvcGetLastThreadInfo, SvcGetDebugFutureThreadInfo
|
2020-08-01 15:31:41 -07:00 |
|
Michael Scire
|
641e92e6a0
|
kern: SvcFlushDataCache, SvcFlushEntireDataCache
|
2020-08-01 15:31:41 -07:00 |
|
Michael Scire
|
ef6ede3aeb
|
kern: SvcReadDebugProcessMemory, SvcWriteDebugProcessMemory
|
2020-08-01 15:31:40 -07:00 |
|
Michael Scire
|
c39da750f2
|
SvcQueryDebugProcessMemory
|
2020-08-01 15:31:38 -07:00 |
|
Michael Scire
|
e8021705d8
|
kern: SendSyncRequestLight, ReplyAndReceiveLight
|
2020-08-01 15:31:37 -07:00 |
|
Michael Scire
|
ed54603dad
|
kern: fix nonsensical copy/pasted comments in QueryMemory
|
2020-08-01 15:31:37 -07:00 |
|
Michael Scire
|
7368d41603
|
kern: QueryMemory64From32, QueryProcessMemory64From32
|
2020-08-01 15:31:36 -07:00 |
|
Michael Scire
|
a7de710f09
|
kern: implement KCodeMemory (and SVCs)
|
2020-08-01 15:31:36 -07:00 |
|
Michael Scire
|
1a5513760b
|
kern: SvcGetSystemTick
|
2020-08-01 15:31:35 -07:00 |
|
Michael Scire
|
c64e490663
|
kern: implement SvcGetThreadContext3
|
2020-08-01 15:31:35 -07:00 |
|
Michael Scire
|
be1314cb88
|
kern: implement thread pinning/SvcSynchronizePreemptionState
|
2020-08-01 15:31:34 -07:00 |
|
Michael Scire
|
89cc6468f9
|
kern: improve KLightLock accuracy
|
2020-08-01 15:31:34 -07:00 |
|
Michael Scire
|
6935929c33
|
kern: SvcMapPhysicalMemoryUnsafe, SvcUnmapPhysicalMemoryUnsafe
|
2020-08-01 15:31:33 -07:00 |
|
Michael Scire
|
10415aefee
|
kern: SvcUnmapPhysicalMemory, cleanup thread pinning
|
2020-08-01 15:31:31 -07:00 |
|
Michael Scire
|
85a5cdd6a5
|
kern: SvcQueryProcessMemory64, notification SvcBreaks
|
2020-08-01 15:31:31 -07:00 |
|
Michael Scire
|
dc8fccd168
|
kern: implement SvcMapPhysicalMemory
|
2020-08-01 15:31:31 -07:00 |
|
Michael Scire
|
4822da6fea
|
kern: finish SvcGetInfo
|
2020-08-01 15:31:30 -07:00 |
|
Michael Scire
|
b2af44006f
|
kern: Implement SecureMemory (system resource)
|
2020-08-01 15:31:30 -07:00 |
|
Michael Scire
|
a22d1d04f2
|
kern: implement SvcSleepSystem
|
2020-08-01 15:31:30 -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
|
600a069f00
|
kern SvcGetCurrentProcessorNumber, SvcSetProcessActivity, half of SvcSetThreadActivity
|
2020-08-01 15:31:29 -07:00 |
|
Michael Scire
|
bfca682c3f
|
kern: SvcGetThreadCoreMask, SvcSetThreadCoreMask
|
2020-08-01 15:31:28 -07:00 |
|
Michael Scire
|
c9588f5739
|
kern: SvcSetMemoryPermission
|
2020-08-01 15:31:28 -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
|
24eb07e72c
|
kern: add SvcFlushProcessDataCache, SvcStoreProcessDataCache
|
2020-08-01 15:31:27 -07:00 |
|
Michael Scire
|
417ed5f01c
|
kern: implement SvcSetMemoryAttribute
|
2020-08-01 15:31:27 -07:00 |
|
Michael Scire
|
4d03635829
|
kern: fix bugs in interrupt permittance, DpcManager init
|
2020-08-01 15:31:26 -07:00 |
|
Michael Scire
|
df019af185
|
kern: SvcGetProcessInfo, SvcTerminateProcess
|
2020-08-01 15:31:26 -07:00 |
|
Michael Scire
|
fe48b9163d
|
kern: fully implement KSharedMemory (and Svcs)
|
2020-08-01 15:31:25 -07:00 |
|
Michael Scire
|
e5d0e2863b
|
kern: add SvcStartProcess
|
2020-08-01 15:31:25 -07:00 |
|
Michael Scire
|
fcffa49fd5
|
kern: implement first half of SvcCreateProcess
|
2020-08-01 15:31:25 -07:00 |
|
Michael Scire
|
e760bd7038
|
kern: implement SvcMapProcessMemory, SvcUnmapProcessMemory
|
2020-08-01 15:31:24 -07:00 |
|
Michael Scire
|
b26547b38c
|
kern: KDevicePageTable::Finalize, InfoType_RandomEntropy
|
2020-08-01 15:31:24 -07:00 |
|
Michael Scire
|
f8476cc761
|
kern: finish SvcGetSystemInfo
|
2020-08-01 15:31:23 -07:00 |
|
Michael Scire
|
d0a4bdba02
|
kern: implement ResourceLimit Svcs
|
2020-08-01 15:31:22 -07:00 |
|
Michael Scire
|
5bfe2eba66
|
kern: add ResourceLimit to svcGetInfo
|
2020-08-01 15:31:22 -07:00 |
|
Michael Scire
|
767a3fca3a
|
kern: fix incorrect cache routines, implement SvcSetProcessMemoryPermission
|
2020-08-01 15:31:22 -07:00 |
|
Michael Scire
|
e30c8b6ac8
|
kern: implement SvcCancelSynchronization
|
2020-08-01 15:31:22 -07:00 |
|
Michael Scire
|
80f8b8b9b0
|
kern: fix bug in SvcSetThreadPriority
|
2020-08-01 15:31:21 -07:00 |
|
Michael Scire
|
ae68a9c38d
|
kern: SvcCreateSession, KDebug finalization
|
2020-08-01 15:31:21 -07:00 |
|
Michael Scire
|
eeb12eb4a2
|
kern: implement SvcDebugActiveProcess, svcGetDebugEvent, SvcWaitProcessWideKeyAtomic
|
2020-08-01 15:31:21 -07:00 |
|
Michael Scire
|
e721b4494c
|
kern: implement SvcSetThreadPriority
|
2020-08-01 15:31:20 -07:00 |
|
Michael Scire
|
811cf0768a
|
kern: add KAddressArbiter::WaitIfEqual
|
2020-08-01 15:31:19 -07:00 |
|
Michael Scire
|
e36b225951
|
kern: implement SvcSetHeapSize
|
2020-08-01 15:31:18 -07:00 |
|
Michael Scire
|
a572354a13
|
kern: implement all device address space svcs
|
2020-08-01 15:31:18 -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
|
fd486a5efd
|
kern: implement SvcGetProcessList
|
2020-08-01 15:31:17 -07:00 |
|
Michael Scire
|
d72564d522
|
kern: add SvcCreateDeviceAddressSpace, SvcAttachDeviceAddressSpace
|
2020-08-01 15:31:17 -07:00 |
|
Michael Scire
|
df104ecc34
|
kern: implement SvcCreateInterruptEvent
|
2020-08-01 15:31:16 -07:00 |
|
Michael Scire
|
160cec7cd8
|
kern: implement SvcCreateEvent, SvcSignalEvent, SvcClearEvent, SvcResetSignal
|
2020-08-01 15:31:16 -07:00 |
|
Michael Scire
|
f8b115eab6
|
kern: add SvcCreatePort, SvcConnectToPort
|
2020-08-01 15:31:16 -07:00 |
|
Michael Scire
|
e1f094d49e
|
kern: add SvcReadWriteRegister
|
2020-08-01 15:31:16 -07:00 |
|
Michael Scire
|
ba0da382ad
|
kern: Implement QueryIoMapping logic for < 8.0.0
|
2020-08-01 15:31:15 -07:00 |
|
Michael Scire
|
8dbdf596bc
|
kern: Support older SVC ABIs
|
2020-08-01 15:31:15 -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
|
d5310407ad
|
kern: implement SvcSleepThread for ns > 0
|
2020-08-01 15:31:08 -07:00 |
|
Michael Scire
|
a574c00d5f
|
kern: add SvcExitThread, SvcSendAsyncRequestWithUserBuffer, SvcReplyAndReceiveWithUserBuffer
|
2020-08-01 15:31:06 -07:00 |
|
Michael Scire
|
50fd330bad
|
kern: implement remaining non-KServerSession:: part of Reply/Receive
|
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
|
8479ff4a1a
|
kern: implement SvcArbitrateLock, SvcArbitrateUnlock
|
2020-08-01 15:31:03 -07:00 |
|
Michael Scire
|
2415b68748
|
kern: skeleton SvcReplyAndReceive
|
2020-08-01 15:31:02 -07:00 |
|
Michael Scire
|
70291b4608
|
kern: partially implement SvcSignalProcessWideKey
|
2020-08-01 15:31:02 -07:00 |
|
Michael Scire
|
f752db8379
|
kern: implement SvcCreateThread, SvcStartThread
|
2020-08-01 15:31:02 -07:00 |
|
Michael Scire
|
3c386e8ab3
|
kern: implement SvcMapMemory
|
2020-08-01 15:31:02 -07:00 |
|