changeset fb0a01641d73 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=fb0a01641d73
description:
        X86: Fix JMP_FAR_I to unpack a far pointer correctly.

        JMP_FAR_I was unpacking its far pointer operand using sll instead of 
srl like
        it should, and also putting the components in the wrong registers for 
use by
        other microcode.

diffstat:

 src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py |  10 
+++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (20 lines):

diff -r fb13c36c3951 -r fb0a01641d73 
src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
--- a/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py   Mon Feb 
07 15:05:28 2011 -0800
+++ b/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py   Mon Feb 
07 15:12:59 2011 -0800
@@ -101,11 +101,11 @@
     # Figure out the width of the offset.
     limm t3, dsz, dataSize=8
     slli t3, t3, 3, dataSize=8
-    # Get the selector into t1.
-    sll t1, t2, t3, dataSize=8
-    mov t1, t0, t1, dataSize=2
-    # And get the offset into t2
-    mov t2, t0, t2
+    # Get the offset into t1.
+    mov t1, t0, t2
+    # Get the selector into t2.
+    srl t2, t2, t3, dataSize=8
+    mov t2, t0, t2, dataSize=2
     br rom_label("jmpFarWork")
 };
 
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to