From 9c8109c2760d8010e166a5d08cce27a506f4e708 Mon Sep 17 00:00:00 2001 From: Reto Buerki Date: Thu, 26 Feb 2015 11:48:20 +0100 Subject: [PATCH] hw_x86_64: Reserve space for IDT on mode transition pages On exception, the CPU first checks the IDT in order to find the associated ISR. The IDT must therefore be placed in the mode transition pages to make them available for non-core threads. --- repos/base-hw/src/core/spec/x86_64/mode_transition.s | 10 ++++++++++ 1 file changed, 10 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 91d8f72b2..85219ef40 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 @@ -237,6 +237,16 @@ iretq + /************************************************ + ** Space for Interrupt Descriptor Table (IDT) ** + ** See Intel SDM Vol. 3A, section 6.10 ** + ************************************************/ + + .global _mt_idt + .align 8 + _mt_idt: + .space 1 << MIN_PAGE_SIZE_LOG2 + /* end of the mode transition code */ .global _mt_end _mt_end: