Files
linux-kernel-module-cheat/baremetal/arch/aarch64/svc_asm.S
Ciro Santilli 六四事件 法轮功 7c2a9c0e9c svc: print values, trace interrupt
2019-02-20 00:00:01 +00:00

32 lines
531 B
ArmAsm

/* https://github.com/cirosantilli/linux-kernel-module-cheat#svc */
#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