summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts/general_purpose/control_transfer
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2014-11-17 01:00:53 -0800
committerGabe Black <gabeblack@google.com>2014-11-17 01:00:53 -0800
commitaceeecb1925afff455d9355d3379d393993192ab (patch)
treec22ef88e66b500e71dadd977920c2a815f05fa35 /src/arch/x86/isa/insts/general_purpose/control_transfer
parentf8603fa1204d1ea16e382d0ce6bc4059dbea9661 (diff)
downloadgem5-aceeecb1925afff455d9355d3379d393993192ab.tar.xz
x86: Fix setting segment bases in real mode.
The data size used for actually writing the base value for the segment was the default size, but really it should set the entire value without any possible truncation.
Diffstat (limited to 'src/arch/x86/isa/insts/general_purpose/control_transfer')
-rw-r--r--src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py b/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
index 6999b913d..3bb2d3e87 100644
--- a/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
+++ b/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
@@ -145,7 +145,7 @@ def macroop JMP_FAR_REAL_M
zexti t3, t1, 15, dataSize=8
slli t3, t3, 4, dataSize=8
wrsel cs, t1, dataSize=2
- wrbase cs, t3
+ wrbase cs, t3, dataSize=8
wrip t0, t2, dataSize=asz
};
@@ -168,7 +168,7 @@ def macroop JMP_FAR_REAL_I
mov t2, t0, t2
slli t3, t1, 4, dataSize=8
wrsel cs, t1, dataSize=2
- wrbase cs, t3
+ wrbase cs, t3, dataSize=8
wrip t0, t2, dataSize=asz
};
'''