diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-29 17:00:20 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-29 17:01:17 +0200 |
commit | 00fe44e565d0ec292bb06a5677ee175cd0851a69 (patch) | |
tree | 33d8c77da25d474a219306af9c376a5c1d431961 /i386 | |
parent | 15955354d26cda32bfb88eb150d5661fe66dc9d0 (diff) | |
download | gnumach-00fe44e565d0ec292bb06a5677ee175cd0851a69.tar.gz gnumach-00fe44e565d0ec292bb06a5677ee175cd0851a69.tar.bz2 gnumach-00fe44e565d0ec292bb06a5677ee175cd0851a69.zip |
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.
Diffstat (limited to 'i386')
-rw-r--r-- | i386/i386/pcb.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 { |