Use IPC helpers for hb

This commit is contained in:
Lectem 2015-09-09 15:12:00 -04:00
parent 5e6440b9b7
commit db9d0a69eb

View File

@ -2,6 +2,7 @@
#include <3ds/svc.h>
#include <3ds/srv.h>
#include <3ds/services/hb.h>
#include <3ds/ipc.h>
static Handle hbHandle;
@ -20,9 +21,9 @@ Result HB_FlushInvalidateCache(void)
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = 0x00010042;
cmdbuf[0] = IPC_MakeHeader(0x1,1,2); // 0x10042
cmdbuf[1] = 0x00000000;
cmdbuf[2] = 0x00000000;
cmdbuf[2] = IPC_Desc_SharedHandles(1);
cmdbuf[3] = CUR_PROCESS_HANDLE;
if((ret = svcSendSyncRequest(hbHandle))!=0) return ret;
@ -35,7 +36,7 @@ Result HB_GetBootloaderAddresses(void** load3dsx, void** setArgv)
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = 0x00060000;
cmdbuf[0] = IPC_MakeHeader(0x6,0,0); // 0x60000
if((ret = svcSendSyncRequest(hbHandle))!=0) return ret;
@ -50,7 +51,7 @@ Result HB_ReprotectMemory(u32* addr, u32 pages, u32 mode, u32* reprotectedPages)
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = 0x000900C0;
cmdbuf[0] = IPC_MakeHeader(0x9,3,0); // 0x900C0
cmdbuf[1] = (u32)addr;
cmdbuf[2] = pages;
cmdbuf[3] = mode;