diff --git a/nx/include/switch/kernel/svc.h b/nx/include/switch/kernel/svc.h index 9c371080..d42cfd81 100644 --- a/nx/include/switch/kernel/svc.h +++ b/nx/include/switch/kernel/svc.h @@ -13,15 +13,15 @@ #define CUR_THREAD_HANDLE 0xFFFF8000 typedef struct { - u64 base_addr; + u64 addr; u64 size; - u32 memorytype; - u32 memoryattribute; + u32 type; + u32 attr; u32 perm; - u32 devicerefcount; - u32 ipcrefcount; + u32 device_refcount; + u32 ipc_refcount; u32 padding; -} MemInfo; +} MemoryInfo; typedef struct { u64 X[8]; @@ -30,7 +30,7 @@ typedef struct { Result svcSetHeapSize(void** out_addr, u64 size); Result svcMapMemory(void* dst_addr, void* src_addr, u64 size); Result svcUnmapMemory(void* dst_addr, void* src_addr, u64 size); -Result svcQueryMemory(MemInfo* meminfo_ptr, u32 *pageinfo, u64 addr); +Result svcQueryMemory(MemoryInfo* meminfo_ptr, u32 *pageinfo, u64 addr); void NORETURN svcExitProcess(); Result svcCreateThread(Handle* out, void* entry, void* arg, void* stack_top, int prio, int cpuid); Result svcStartThread(Handle handle); @@ -73,7 +73,7 @@ Result svcGetDebugEvent(u8* event_out, Handle* debug); Result svcContinueDebugEvent(Handle debug, u32 flags, u64 unk); Result svcGetDebugThreadContext(u8* out, Handle debug, u64 threadID, u32 flags); Result svcGetProcessList(u32 *num_out, u64 *pids_out, u32 max_pids); -Result svcQueryDebugProcessMemory(MemInfo* meminfo_ptr, u32* pageinfo, Handle debug, u64 addr); +Result svcQueryDebugProcessMemory(MemoryInfo* meminfo_ptr, u32* pageinfo, Handle debug, u64 addr); Result svcReadDebugProcessMemory(void* buffer, Handle debug, u64 addr, u64 size); Result svcWriteDebugProcessMemory(Handle debug, void* buffer, u64 addr, u64 size); Result svcManageNamedPort(Handle* portServer, const char* name, s32 maxSessions); diff --git a/nx/source/kernel/virtmem.c b/nx/source/kernel/virtmem.c index d5344a08..3e586417 100644 --- a/nx/source/kernel/virtmem.c +++ b/nx/source/kernel/virtmem.c @@ -61,10 +61,10 @@ void virtmemSetup() { } void* virtmemReserve(size_t size) { - Result rc; - MemInfo meminfo; - u32 pageinfo; - size_t i; + Result rc; + MemoryInfo meminfo; + u32 pageinfo; + size_t i; size = (size + 0xFFF) &~ 0xFFF; @@ -87,15 +87,15 @@ void* virtmemReserve(size_t size) { fatalSimple(MAKERESULT(MODULE_LIBNX, LIBNX_BADQUERYMEMORY)); } - if (meminfo.memorytype != 0) { + if (meminfo.type != 0) { // Address is already taken, let's move past it. - addr = meminfo.base_addr + meminfo.size; + addr = meminfo.addr + meminfo.size; continue; } if (size > meminfo.size) { // We can't fit in this region, let's move past it. - addr = meminfo.base_addr + meminfo.size; + addr = meminfo.addr + meminfo.size; continue; } @@ -136,9 +136,9 @@ void virtmemFree(void* addr, size_t size) { void* virtmemReserveMap(size_t size) { - Result rc; - MemInfo meminfo; - u32 pageinfo; + Result rc; + MemoryInfo meminfo; + u32 pageinfo; int region_idx = kernelAbove200() ? REGION_NEW_STACK : REGION_STACK; size = (size + 0xFFF) &~ 0xFFF; @@ -163,15 +163,15 @@ void* virtmemReserveMap(size_t size) fatalSimple(MAKERESULT(MODULE_LIBNX, LIBNX_BADQUERYMEMORY)); } - if (meminfo.memorytype != 0) { + if (meminfo.type != 0) { // Address is already taken, let's move past it. - addr = meminfo.base_addr + meminfo.size; + addr = meminfo.addr + meminfo.size; continue; } if (size > meminfo.size) { // We can't fit in this region, let's move past it. - addr = meminfo.base_addr + meminfo.size; + addr = meminfo.addr + meminfo.size; continue; } diff --git a/nx/source/system/initArgv.c b/nx/source/system/initArgv.c index 6a3d5815..2e2801e1 100644 --- a/nx/source/system/initArgv.c +++ b/nx/source/system/initArgv.c @@ -15,7 +15,7 @@ extern u32 __argdata__; void __system_initArgv(void) { Result rc=0; - MemInfo meminfo; + MemoryInfo meminfo; u32 pageinfo=0; u8 *argdata = (u8*)&__argdata__; @@ -36,7 +36,10 @@ void __system_initArgv(void) __system_argv = NULL; rc = svcQueryMemory(&meminfo, &pageinfo, (u64)argdata); - if (R_FAILED(rc) || meminfo.perm!=0x3) return; //This memory is only mapped when arguments were passed. + + // This memory is only mapped when arguments were passed. + if (R_FAILED(rc) || meminfo.perm != 0x3) + return; argdata_allocsize = arg32[0]; argdata_strsize = arg32[1];