Files
linux-kernel-module-cheat/baremetal/arch/aarch64/svc_asm.S
Ciro Santilli 六四事件 法轮功 e855a262fd aarch64 baremetal svc factored out for C and asm
2019-02-18 00:00:00 +00:00

30 lines
462 B
ArmAsm

#include <lkmc.h>
.global main
main:
/* Do the svc. */
svc 0
/* Confirm that svc was called and modified myvar. */
ldr x0, myvar
ldr x1, mynewvar
cmp x0, x1
beq 1f
bl lkmc_assert_fail
1:
/* Go home. */
ret
LKMC_GLOBAL(lkmc_vector_trap_handler)
/* Modify myvar as a visible side effect. */
ldr x0, mynewvar
ldr x1, =myvar
str x0, [x1]
ret
myvar:
.quad 0x0
mynewvar:
.quad 0x12346789ABCDEF0