/branches/dynload/uspace/srv/loader/arch/amd64/amd64.s |
---|
28,8 → 28,16 |
.globl program_run |
## void program_run(uintptr_t entry_point); |
## void program_run(void *entry_point, void *pcb); |
# |
# %rdi contains entry_point |
# %rsi contains pcb |
# |
# Jump to a program entry point |
program_run: |
jmp %rdi |
# pcb must be passed in %rdi, use %rdx as a scratch register |
mov %rdi, %rdx |
mov %rsi, %rdi |
# jump to entry point |
jmp %rdx |