From 00fe44e565d0ec292bb06a5677ee175cd0851a69 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 29 Mar 2020 17:00:20 +0200 Subject: ldt: do not reload kernel LDT if we are already using it * i386/i386/pcb.c (switch_ktss): Do not call set_ldt(KERNEL_LDT) if get_ldt() is already KERNEL_LDT. --- i386/i386/pcb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/i386/i386/pcb.c b/i386/i386/pcb.c index 743108db..23585323 100644 --- a/i386/i386/pcb.c +++ b/i386/i386/pcb.c @@ -169,7 +169,8 @@ void switch_ktss(pcb_t pcb) #ifdef MACH_PV_DESCRIPTORS hyp_set_ldt(&ldt, LDTSZ); #else /* MACH_PV_DESCRIPTORS */ - set_ldt(KERNEL_LDT); + if (get_ldt() != KERNEL_LDT) + set_ldt(KERNEL_LDT); #endif /* MACH_PV_DESCRIPTORS */ } else { -- cgit v1.2.3