mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
24 lines
514 B
ArmAsm
24 lines
514 B
ArmAsm
/* https://cirosantilli.com/linux-kernel-module-cheat#semihosting */
|
|
|
|
.global main
|
|
main:
|
|
/* 0x20026 == ADP_Stopped_ApplicationExit */
|
|
mov x1, 0x26
|
|
movk x1, 2, lsl 16
|
|
str x1, [sp, 0]
|
|
|
|
/* Exit status code. Host QEMU process exits with that status. */
|
|
mov x0, 0
|
|
str x0, [sp, 8]
|
|
|
|
/* x1 contains the address of parameter block.
|
|
* Any memory address could be used.
|
|
*/
|
|
mov x1, sp
|
|
|
|
/* SYS_EXIT */
|
|
mov w0, 0x18
|
|
|
|
/* Do the semihosting call on A64. */
|
|
hlt 0xf000
|