From 2ad0410ebcb1d468cdb00f7f28640109af6b3ddb Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Tue, 13 Jun 2017 20:15:25 -0600 Subject: [PATCH] Pass arguments for kernel size, stack size to kernel --- x86_64/startup-x86_64.asm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/x86_64/startup-x86_64.asm b/x86_64/startup-x86_64.asm index 6059331..963d72b 100644 --- a/x86_64/startup-x86_64.asm +++ b/x86_64/startup-x86_64.asm @@ -122,9 +122,21 @@ long_mode: mov gs, rax mov ss, rax - mov rsp, 0xFFFFFF000009F000 - - ;rust init + ; kernel_base + mov rdi, kernel_base + ; kernel_size + mov rsi, kernel_file.length + ; stack_base + mov rdx, 0xFFFFFF0000080000 + ; stack_size + mov rcx, 0x1F000 + + ; set stack pointer + mov rsp, rdx + add rsp, rcx + sub rsp, 256 + + ; entry point mov rax, [kernel_base + 0x18] jmp rax -- GitLab