From 5b2ec031ab578caec8fbbdbe5350b9c0df493fd3 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 16 May 2025 09:51:24 +0200 Subject: 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 --- dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm') 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 -- cgit v1.2.3