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