summaryrefslogtreecommitdiff
path: root/src/bootloader
diff options
context:
space:
mode:
authorBrett Weiland <brett_weiland@bpcspace.com>2021-09-12 12:53:33 -0500
committerBrett Weiland <brett_weiland@bpcspace.com>2021-09-12 12:55:07 -0500
commit2062e7070710989abf7271838efb99cbfbe511d0 (patch)
tree1d7b9a7dc04ff8c3f3e3a0f3c54988ecc3087074 /src/bootloader
parent1f71b9576db536af84155363e14fc49e92de2eef (diff)
SMP fixed for CPUs with defective cores
modified: README.md modified: src/.gdb_history modified: src/bootloader/enter_kernel.asm modified: src/bootloader/gdt.asm modified: src/debug/gdbinit.gdb modified: src/include/int.h modified: src/include/paging.h modified: src/include/smp.h modified: src/include/smp_sync.h modified: src/indigo_os modified: src/kernel/int.c modified: src/kernel/kernel.c modified: src/kernel/klog.c modified: src/kernel/madt.c modified: src/kernel/page.c modified: src/kernel/panic.c modified: src/kernel/printf.c modified: src/kernel/smp.c modified: src/kernel/smp_trampoline.asm modified: .gitignore deleted: src/.gdb_history
Diffstat (limited to 'src/bootloader')
-rw-r--r--src/bootloader/enter_kernel.asm6
-rw-r--r--src/bootloader/gdt.asm2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/bootloader/enter_kernel.asm b/src/bootloader/enter_kernel.asm
index bdf0a71..475e288 100644
--- a/src/bootloader/enter_kernel.asm
+++ b/src/bootloader/enter_kernel.asm
@@ -92,7 +92,9 @@ bits 64
mov rbp, 0
mov rsp, _kernel_stack_loc
mov rax, QWORD kernel_init
-;push QWORD 0
jmp rax
-jmp $
+full_stop:
+cli
+hlt
+jmp full_stop
ret
diff --git a/src/bootloader/gdt.asm b/src/bootloader/gdt.asm
index 0e6d89b..a1d61e2 100644
--- a/src/bootloader/gdt.asm
+++ b/src/bootloader/gdt.asm
@@ -29,7 +29,7 @@ dq .gdt_start
PROTECTED_CODE_SEGMENT equ .gdt_code - .gdt_start
PROTECTED_DATA_SEGMENT equ .gdt_data - .gdt_start
-
+align 8
long_gdt:
.gdt_start:
;and now we set up a temporary GDT creating a 1:1 mapping