X86: Fix setting the busy bit in the task descriptor in LTR.
authorGabe Black <gblack@eecs.umich.edu>
Thu, 17 Sep 2009 02:28:01 +0000 (19:28 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 17 Sep 2009 02:28:01 +0000 (19:28 -0700)
src/arch/x86/isa/insts/system/segmentation.py

index b83fcba95437bf6cfb92b0f1124e1ca370ca3d7a..c97f2f1529affe573aa6fba9fc780271dc8c65c4 100644 (file)
@@ -179,7 +179,8 @@ def macroop LTR_R
     wrdh t3, t1, t2
     wrdl tr, t1, reg
     wrbase tr, t3, dataSize=8
-    ori t1, t1, (1 << 9)
+    limm t5, (1 << 9)
+    or t1, t1, t5
     st t1, tsg, [8, t4, t0], dataSize=8
 };
 
@@ -195,7 +196,8 @@ def macroop LTR_M
     wrdh t3, t1, t2
     wrdl tr, t1, t5
     wrbase tr, t3, dataSize=8
-    ori t1, t1, (1 << 9)
+    limm t5, (1 << 9)
+    or t1, t1, t5
     st t1, tsg, [8, t4, t0], dataSize=8
 };
 
@@ -212,7 +214,8 @@ def macroop LTR_P
     wrdh t3, t1, t2
     wrdl tr, t1, t5
     wrbase tr, t3, dataSize=8
-    ori t1, t1, (1 << 9)
+    limm t5, (1 << 9)
+    or t1, t1, t5
     st t1, tsg, [8, t4, t0], dataSize=8
 };