diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-16 09:51:24 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-16 10:08:17 +0200 |
| commit | 5b2ec031ab578caec8fbbdbe5350b9c0df493fd3 (patch) | |
| tree | a0aab7bea6ef32aaa48ece6bdf287974dd67c8eb /dev/kernel/HALKit/AMD64/HalApplicationProcessorStartup.asm | |
| parent | b7c6e7aef4c2c647623520f65d78921841bdffaa (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.asm | 14 |
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 |
