diff options
| author | Fabian Imhof <fabian.imhof@ost.ch> | 2025-03-29 14:47:04 +0000 |
|---|---|---|
| committer | Fabian Imhof <fabian.imhof@ost.ch> | 2025-03-29 14:47:04 +0000 |
| commit | aba154ad01fc0e1e1274f2582b1493e78daa2559 (patch) | |
| tree | 15aad40a97406a76e466191ef7afc5ed4ab10006 /arch/x86_64/src/boot | |
| parent | 98be1b722f17e77880e8c0b0f464a9ba31230fc4 (diff) | |
| download | teachos-aba154ad01fc0e1e1274f2582b1493e78daa2559.tar.xz teachos-aba154ad01fc0e1e1274f2582b1493e78daa2559.zip | |
fix gdt segments, improve idt and trial&error for triple fault
Diffstat (limited to 'arch/x86_64/src/boot')
| -rw-r--r-- | arch/x86_64/src/boot/boot.s | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86_64/src/boot/boot.s b/arch/x86_64/src/boot/boot.s index 108dbe5..38a8af4 100644 --- a/arch/x86_64/src/boot/boot.s +++ b/arch/x86_64/src/boot/boot.s @@ -197,10 +197,8 @@ _start: call enable_paging call enable_sse - cli /* Clears the interrupt flag during the GDT setup */ lgdt (global_descriptor_table_pointer) jmp $global_descriptor_table_code, $_transition_to_long_mode - /* The interrupt flag is set in cpp after setting up the GDT */ call halt @@ -369,14 +367,7 @@ reload_segment_register: ret _transition_to_long_mode: - //call reload_segment_register - - xor %rax, %rax - mov %rax, %ss - mov %rax, %ds - mov %rax, %es - mov %rax, %fs - mov %rax, %gs + call reload_segment_register movl $0xb8000, (vga_buffer_pointer) |
