From b1406d9eaa2551d8435ba441acea585a24bd72f6 Mon Sep 17 00:00:00 2001 From: fincs Date: Sat, 15 Oct 2022 21:09:11 +0200 Subject: [PATCH] Grant access to all SVCs (including the extended range) --- Makefile | 2 +- hbl.json | 105 +++++++++++++++++++++++++++++++++++++++++++++----- source/main.c | 3 +- 3 files changed, 98 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 86af990..0a9f12b 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ SOURCES := source DATA := data INCLUDES := include #ROMFS := romfs -APP_VERSION := 2.4.1 +APP_VERSION := 2.4.2 ifeq ($(RELEASE),) APP_VERSION := $(APP_VERSION)-$(shell git describe --dirty --always) diff --git a/hbl.json b/hbl.json index fb1a0ea..4434ee2 100644 --- a/hbl.json +++ b/hbl.json @@ -36,7 +36,7 @@ { "type": "syscalls", "value": { - "svcUnknown00": "0x00", + "svcUnassigned00": "0x00", "svcSetHeapSize": "0x01", "svcSetMemoryPermission": "0x02", "svcSetMemoryAttribute": "0x03", @@ -92,22 +92,22 @@ "svcSignalToAddress": "0x35", "svcSynchronizePreemptionState": "0x36", "svcGetResourceLimitPeakValue": "0x37", - "svcUnknown38": "0x38", - "svcUnknown39": "0x39", - "svcUnknown3a": "0x3A", - "svcUnknown3b": "0x3B", + "svcUnassigned38": "0x38", + "svcCreateIoPool": "0x39", + "svcCreateIoRegion": "0x3A", + "svcUnassigned3B": "0x3B", "svcKernelDebug": "0x3C", "svcChangeKernelTraceState": "0x3D", - "svcUnknown3e": "0x3E", - "svcUnknown3f": "0x3F", + "svcUnassigned3E": "0x3E", + "svcUnassigned3F": "0x3F", "svcCreateSession": "0x40", "svcAcceptSession": "0x41", "svcReplyAndReceiveLight": "0x42", "svcReplyAndReceive": "0x43", "svcReplyAndReceiveWithUserBuffer": "0x44", "svcCreateEvent": "0x45", - "svcUnknown46": "0x46", - "svcUnknown47": "0x47", + "svcMapIoRegion": "0x46", + "svcUnmapIoRegion": "0x47", "svcMapPhysicalMemoryUnsafe": "0x48", "svcUnmapPhysicalMemoryUnsafe": "0x49", "svcSetUnsafeLimit": "0x4A", @@ -119,7 +119,19 @@ "svcCreateSharedMemory": "0x50", "svcMapTransferMemory": "0x51", "svcUnmapTransferMemory": "0x52", + "svcCreateInterruptEvent": "0x53", + "svcQueryPhysicalAddress": "0x54", "svcQueryIoMapping": "0x55", + "svcCreateDeviceAddressSpace": "0x56", + "svcAttachDeviceAddressSpace": "0x57", + "svcDetachDeviceAddressSpace": "0x58", + "svcMapDeviceAddressSpaceByForce": "0x59", + "svcMapDeviceAddressSpaceAligned": "0x5A", + "svcMapDeviceAddressSpace": "0x5B", + "svcUnmapDeviceAddressSpace": "0x5C", + "svcInvalidateProcessDataCache": "0x5D", + "svcStoreProcessDataCache": "0x5E", + "svcFlushProcessDataCache": "0x5F", "svcDebugActiveProcess": "0x60", "svcBreakDebugProcess": "0x61", "svcTerminateDebugProcess": "0x62", @@ -134,7 +146,10 @@ "svcWriteDebugProcessMemory": "0x6B", "svcSetHardwareBreakPoint": "0x6C", "svcGetDebugThreadParam": "0x6D", + "svcUnassigned6E": "0x6E", "svcGetSystemInfo": "0x6F", + "svcCreatePort": "0x70", + "svcManageNamedPort": "0x71", "svcConnectToPort": "0x72", "svcSetProcessMemoryPermission": "0x73", "svcMapProcessMemory": "0x74", @@ -142,7 +157,77 @@ "svcQueryProcessMemory": "0x76", "svcMapProcessCodeMemory": "0x77", "svcUnmapProcessCodeMemory": "0x78", - "svcCallSecureMonitor": "0x7F" + "svcCreateProcess": "0x79", + "svcStartProcess": "0x7A", + "svcTerminateProcess": "0x7B", + "svcGetProcessInfo": "0x7C", + "svcCreateResourceLimit": "0x7D", + "svcSetResourceLimitLimitValue": "0x7E", + "svcCallSecureMonitor": "0x7F", + "svcUnassigned80": "0x80", + "svcUnassigned81": "0x81", + "svcUnassigned82": "0x82", + "svcUnassigned83": "0x83", + "svcUnassigned84": "0x84", + "svcUnassigned85": "0x85", + "svcUnassigned86": "0x86", + "svcUnassigned87": "0x87", + "svcUnassigned88": "0x88", + "svcUnassigned89": "0x89", + "svcUnassigned8A": "0x8A", + "svcUnassigned8B": "0x8B", + "svcUnassigned8C": "0x8C", + "svcUnassigned8D": "0x8D", + "svcUnassigned8E": "0x8E", + "svcUnassigned8F": "0x8F", + "svcMapInsecureMemory": "0x90", + "svcUnmapInsecureMemory": "0x91", + "svcUnassigned92": "0x92", + "svcUnassigned93": "0x93", + "svcUnassigned94": "0x94", + "svcUnassigned95": "0x95", + "svcUnassigned96": "0x96", + "svcUnassigned97": "0x97", + "svcUnassigned98": "0x98", + "svcUnassigned99": "0x99", + "svcUnassigned9A": "0x9A", + "svcUnassigned9B": "0x9B", + "svcUnassigned9C": "0x9C", + "svcUnassigned9D": "0x9D", + "svcUnassigned9E": "0x9E", + "svcUnassigned9F": "0x9F", + "svcUnassignedA0": "0xA0", + "svcUnassignedA1": "0xA1", + "svcUnassignedA2": "0xA2", + "svcUnassignedA3": "0xA3", + "svcUnassignedA4": "0xA4", + "svcUnassignedA5": "0xA5", + "svcUnassignedA6": "0xA6", + "svcUnassignedA7": "0xA7", + "svcUnassignedA8": "0xA8", + "svcUnassignedA9": "0xA9", + "svcUnassignedAA": "0xAA", + "svcUnassignedAB": "0xAB", + "svcUnassignedAC": "0xAC", + "svcUnassignedAD": "0xAD", + "svcUnassignedAE": "0xAE", + "svcUnassignedAF": "0xAF", + "svcUnassignedB0": "0xB0", + "svcUnassignedB1": "0xB1", + "svcUnassignedB2": "0xB2", + "svcUnassignedB3": "0xB3", + "svcUnassignedB4": "0xB4", + "svcUnassignedB5": "0xB5", + "svcUnassignedB6": "0xB6", + "svcUnassignedB7": "0xB7", + "svcUnassignedB8": "0xB8", + "svcUnassignedB9": "0xB9", + "svcUnassignedBA": "0xBA", + "svcUnassignedBB": "0xBB", + "svcUnassignedBC": "0xBC", + "svcUnassignedBD": "0xBD", + "svcUnassignedBE": "0xBE", + "svcUnassignedBF": "0xBF" } }, { diff --git a/source/main.c b/source/main.c index fb1d70a..2fa7aac 100644 --- a/source/main.c +++ b/source/main.c @@ -460,7 +460,8 @@ void loadNro(void) { EntryType_Argv, 0, {0, 0} }, { EntryType_NextLoadPath, 0, {0, 0} }, { EntryType_LastLoadResult, 0, {0, 0} }, - { EntryType_SyscallAvailableHint, 0, {0xffffffffffffffff, 0x9fc9fff0027ffff} }, + { EntryType_SyscallAvailableHint, 0, {UINT64_MAX, UINT64_MAX} }, + { EntryType_SyscallAvailableHint2, 0, {UINT64_MAX, 0} }, { EntryType_RandomSeed, 0, {0, 0} }, { EntryType_UserIdStorage, 0, {(u64)(uintptr_t)&g_userIdStorage, 0} }, { EntryType_HosVersion, 0, {0, 0} },