21db0d45bd
- see release notes - ( ͡° ͜ʖ ͡°)( ͡° ͜ʖ ͡°)( ͡° ͜ʖ ͡°) - (∩ ͡° ͜ʖ ͡°)⊃━☆゚ - ( ͡ᵔ ͜ʖ ͡ᵔ) ♫┌( ͡° ͜ʖ ͡°)┘♪ ♫└( ͡° ͜ʖ ͡°)┐♪
102 lines
2.1 KiB
ArmAsm
102 lines
2.1 KiB
ArmAsm
@ This paricular file is licensed under the following terms:
|
|
|
|
@ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable
|
|
@ for any damages arising from the use of this software.
|
|
@
|
|
@ Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it
|
|
@ and redistribute it freely, subject to the following restrictions:
|
|
@
|
|
@ The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
|
|
@ If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
|
@
|
|
@ Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
|
@ This notice may not be removed or altered from any source distribution.
|
|
|
|
.arm
|
|
.balign 4
|
|
|
|
.macro SVC_BEGIN name
|
|
.section .text.\name, "ax", %progbits
|
|
.global \name
|
|
.type \name, %function
|
|
.align 2
|
|
.cfi_startproc
|
|
\name:
|
|
.endm
|
|
|
|
.macro SVC_END
|
|
.cfi_endproc
|
|
.endm
|
|
|
|
SVC_BEGIN svcCustomBackdoor
|
|
svc 0x80
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcConvertVAToPA
|
|
svc 0x90
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcFlushDataCacheRange
|
|
svc 0x91
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcFlushEntireDataCache
|
|
svc 0x92
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcInvalidateInstructionCacheRange
|
|
svc 0x93
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcInvalidateEntireInstructionCache
|
|
svc 0x94
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcMapProcessMemoryEx
|
|
svc 0xA0
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcUnmapProcessMemoryEx
|
|
svc 0xA1
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcControlMemoryEx
|
|
push {r0, r4, r5}
|
|
ldr r0, [sp, #0xC]
|
|
ldr r4, [sp, #0xC+0x4]
|
|
ldr r5, [sp, #0xC+0x8]
|
|
svc 0xA2
|
|
pop {r2, r4, r5}
|
|
str r1, [r2]
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcControlService
|
|
svc 0xB0
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcCopyHandle
|
|
str r0, [sp, #-4]!
|
|
svc 0xB1
|
|
ldr r2, [sp], #4
|
|
str r1, [r2]
|
|
bx lr
|
|
SVC_END
|
|
|
|
SVC_BEGIN svcTranslateHandle
|
|
str r0, [sp, #-4]!
|
|
svc 0xB2
|
|
ldr r2, [sp], #4
|
|
str r1, [r2]
|
|
bx lr
|
|
SVC_END
|