[APT] Implement new 3DS check, [OS] Fix mem allog bug & impl more of HID

This commit is contained in:
wheremyfoodat 2022-09-25 03:35:40 +03:00
parent c4cb20f846
commit 0aaf1c317d
14 changed files with 143 additions and 60 deletions

View file

@ -20,7 +20,17 @@ namespace KernelHandles {
MinServiceHandle = APT,
MaxServiceHandle = NDM,
GSPSharedMemHandle = MaxServiceHandle + 1 // Handle for the GSP shared memory
GSPSharedMemHandle = MaxServiceHandle + 1, // Handle for the GSP shared memory
HIDSharedMemHandle,
MinSharedMemHandle = GSPSharedMemHandle,
MaxSharedMemHandle = HIDSharedMemHandle,
HIDEvent0,
HIDEvent1,
HIDEvent2,
HIDEvent3,
HIDEvent4
};
// Returns whether "handle" belongs to one of the OS services
@ -28,6 +38,11 @@ namespace KernelHandles {
return handle >= MinServiceHandle && handle <= MaxServiceHandle;
}
// Returns whether "handle" belongs to one of the OS services' shared memory areas
static constexpr bool isSharedMemHandle(Handle handle) {
return handle >= MinSharedMemHandle && handle <= MaxSharedMemHandle;
}
// Returns the name of a handle as a string based on the given handle
static const char* getServiceName(Handle handle) {
switch (handle) {
@ -36,6 +51,7 @@ namespace KernelHandles {
case FS: return "FS";
case GPU: return "GPU";
case LCD: return "LCD";
case NDM: return "NDM";
default: return "Unknown";
}
}

View file

@ -86,6 +86,7 @@ class Kernel {
MAKE_LOG_FUNCTION(log, kernelLogger)
MAKE_LOG_FUNCTION(logSVC, svcLogger)
MAKE_LOG_FUNCTION(logDebugString, debugStringLogger)
// SVC implementations
void arbitrateAddress();