From 58e7cc77d08fd3fb73a8ffd16e397fb93e1b1d94 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 28 Dec 2016 16:22:02 +0100 Subject: [PATCH] Data segment descriptors are not needed in 64-bit mode --- src/arch/x86_64/boot.asm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/arch/x86_64/boot.asm b/src/arch/x86_64/boot.asm index a9d7a6bb..b4ff26f1 100644 --- a/src/arch/x86_64/boot.asm +++ b/src/arch/x86_64/boot.asm @@ -29,12 +29,6 @@ start: ; load the 64-bit GDT lgdt [gdt64.pointer] - ; update selectors - mov ax, gdt64.data - mov ss, ax - mov ds, ax - mov es, ax - jmp gdt64.code:long_mode_start set_up_page_tables: @@ -202,9 +196,7 @@ section .rodata gdt64: dq 0 ; zero entry .code: equ $ - gdt64 ; new - dq (1<<44) | (1<<47) | (1<<41) | (1<<43) | (1<<53) ; code segment -.data: equ $ - gdt64 ; new - dq (1<<44) | (1<<47) | (1<<41) ; data segment + dq (1<<44) | (1<<47) | (1<<43) | (1<<53) ; code segment .pointer: dw $ - gdt64 - 1 dq gdt64