summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-16 09:51:24 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-16 10:08:17 +0200
commit5b2ec031ab578caec8fbbdbe5350b9c0df493fd3 (patch)
treea0aab7bea6ef32aaa48ece6bdf287974dd67c8eb /dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
parentb7c6e7aef4c2c647623520f65d78921841bdffaa (diff)
feat(kernel/ap): Improved and fixed the AP boot flow, also made sure that the segment
loading for the long mode stub works. TODO: - Stack pointer shall be set when jumping to AP routine. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm')
-rw-r--r--dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm14
1 files changed, 5 insertions, 9 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm b/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
index 09a59e4f..181937ab 100644
--- a/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
+++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm
@@ -10,7 +10,7 @@
;; */
[bits 16]
-[org 0x7c000]
+[org 0x8000]
hal_ap_start:
mov ax, 0x0
@@ -61,19 +61,15 @@ hal_ap_64bit_entry:
mov fs, ax
mov gs, ax
mov ss, ax
- mov rsp, [hal_ap_64bit_entry_stack_end]
+
+ mov rsp, rbx
push 0x33
- push qword [hal_ap_64bit_entry_loop]
+ lea rax, [hal_ap_64bit_entry_loop]
+ push rax
o64 pushf
- push rsp
- push 0x33
o64 iret
hal_ap_64bit_entry_loop:
jmp $
-
-hal_ap_64bit_entry_stack:
- times 8196*2 nop
-hal_ap_64bit_entry_stack_end: \ No newline at end of file