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