X86: Implement inUserMode for x86.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 25 Feb 2009 18:18:06 +0000 (10:18 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 25 Feb 2009 18:18:06 +0000 (10:18 -0800)
src/arch/x86/utility.hh

index 477a76e0b0febd723510c158b83043e4f947794f..6f0812a6ad2073ce9517770c4722147e45213ffa 100644 (file)
@@ -93,7 +93,12 @@ namespace X86ISA
     static inline bool
     inUserMode(ThreadContext *tc)
     {
-        return false;
+#if FULL_SYSTEM
+        HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);
+        return m5reg.cpl == 3;
+#else
+        return true;
+#endif
     }
 
     inline bool isCallerSaveIntegerRegister(unsigned int reg) {