changeset a55b78e4b6d6 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=a55b78e4b6d6
description:
X86: Fix the segment setting code in IRET, and make it restore the
flags.
diffstat:
1 file changed, 1 deletion(-)
src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
| 1 -
diffs (22 lines):
diff -r 3995b7c2ae86 -r a55b78e4b6d6
src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
---
a/src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
Sun Oct 12 23:00:28 2008 -0700
+++
b/src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
Sun Oct 12 23:05:22 2008 -0700
@@ -190,8 +190,8 @@
# This actually updates state which is wrong. It should wait until we know
# we're not going to fault. Unfortunately, that's hard to do.
- wrdl cs, t7, t2
- wrsel cs, t2
+ wrdl ss, t7, t2
+ wrsel ss, t2
###
### From this point downwards, we can't fault. We can update user visible
state.
@@ -224,6 +224,7 @@
# Ignore this for now.
#RFLAGS.v = temp_RFLAGS
+ wrflags t0, t3
# VIF,VIP,IOPL only changed if (old_CPL = 0)
# IF only changed if (old_CPL <= old_RFLAGS.IOPL)
# VM unchanged
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev