Files
linux-kernel-module-cheat/baremetal/arch/aarch64/svc_asm.S
Ciro Santilli 六四事件 法轮功 5391bc1bfd Get rid of lkmc_assert_fail in favor of abort + assert
What was missing previously was implementing abort in baremetal.

I had done that previously and forgotten to do this conversion!
2019-05-21 00:00:00 +00:00

33 lines
534 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 abort
1:
/* Go home. */
mov x0, 0
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