X86: Set an initial value for the LDT selector.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 27 Feb 2009 17:23:27 +0000 (09:23 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 27 Feb 2009 17:23:27 +0000 (09:23 -0800)
src/arch/x86/process.cc

index 22030cbfa7aef95c6057c0e464f4bf278eafbcc4..54d5d07ab642106fccb8a08071765e2be06c09fc 100644 (file)
@@ -299,6 +299,9 @@ I386LiveProcess::startup()
         tc->setMiscRegNoEffect(MISCREG_TSG_EFF_BASE, _gdtStart);
         tc->setMiscRegNoEffect(MISCREG_TSG_LIMIT, _gdtStart + _gdtSize - 1);
 
+        // Set the LDT selector to 0 to deactivate it.
+        tc->setMiscRegNoEffect(MISCREG_TSL, 0);
+
         //Set up the registers that describe the operating mode.
         CR0 cr0 = 0;
         cr0.pg = 1; // Turn on paging.