From 7b051c05318c58dedd3249338a96a54d746805a4 Mon Sep 17 00:00:00 2001 From: Adrian-Ken Rueegsegger Date: Fri, 20 Feb 2015 16:10:26 +0100 Subject: [PATCH] hw_x86_64: Restore kernel segment registers The segment registers are set to reference the kernel data segments of the GDT. --- repos/base-hw/src/core/spec/x86_64/mode_transition.s | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/repos/base-hw/src/core/spec/x86_64/mode_transition.s b/repos/base-hw/src/core/spec/x86_64/mode_transition.s index 1eb28abaa..0c620bb75 100644 --- a/repos/base-hw/src/core/spec/x86_64/mode_transition.s +++ b/repos/base-hw/src/core/spec/x86_64/mode_transition.s @@ -108,6 +108,13 @@ pushq %r9 pushq %r8 + /* Restore kernel segment registers */ + mov $0x10, %rbx + mov %rbx, %ds + mov %rbx, %es + mov %rbx, %fs + mov %rbx, %gs + 1: jmp 1b .global _mt_user_entry_pic