Skip to main content

write_user_code

Function write_user_code 

Source
fn write_user_code(dest: *mut u8)
Expand description

Write the user-mode test program into the code page.

The program:

; SYS_DEBUG_LOG(buf_ptr, buf_len)
mov rax, 600           ; SYS_DEBUG_LOG
lea rdi, [rip + msg]   ; buffer pointer (rdi = arg1)
mov rsi, 13            ; length (rsi = arg2)
syscall

; SYS_PROC_EXIT(0)
mov rax, 300           ; SYS_PROC_EXIT
xor rdi, rdi           ; exit code 0
syscall

; Safety: should never reach here
hlt
jmp $-1

msg: db "Hello Ring 3!"