From fca68b0d4ebf123e328283449a652b79dfb52447 Mon Sep 17 00:00:00 2001 From: smea Date: Tue, 28 Jan 2014 23:50:51 +0100 Subject: [PATCH] svc : svc_createMemoryBlock --- libctru/include/ctr/svc.h | 1 + libctru/source/svc.s | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libctru/include/ctr/svc.h b/libctru/include/ctr/svc.h index 574ffe9..30e9b57 100644 --- a/libctru/include/ctr/svc.h +++ b/libctru/include/ctr/svc.h @@ -9,6 +9,7 @@ Result svc_controlMemory(u32* outaddr, u32 addr0, u32 addr1, u32 size, u32 operation, u32 permissions); //(outaddr is usually the same as the input addr0) Result svc_createEvent(Handle* event, u8 resettype); Result svc_clearEvent(Handle handle); + Result svc_createMemoryBlock(Handle* memblock, u32 addr, u32 size, u32 mypermission, u32 otherpermission); Result svc_mapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherpermission); Result svc_waitSynchronization1(Handle handle, s64 nanoseconds); Result svc_waitSynchronizationN(s32* out, Handle* handles, s32 handlecount, bool waitAll, s64 nanoseconds); diff --git a/libctru/source/svc.s b/libctru/source/svc.s index 0c974ab..fdc5739 100644 --- a/libctru/source/svc.s +++ b/libctru/source/svc.s @@ -56,6 +56,16 @@ svc_clearEvent: svc 0x19 bx lr +.global svc_createMemoryBlock +.type svc_createMemoryBlock, %function +svc_createMemoryBlock: + str r0, [sp, #-4]! + ldr r0, [sp, #4] + svc 0x1E + ldr r2, [sp], #4 + str r1, [r2] + bx lr + .global svc_mapMemoryBlock .type svc_mapMemoryBlock, %function svc_mapMemoryBlock: