diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-10-18 22:41:18 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-10-18 22:41:18 -0700 |
commit | 46bd1c99a9fb3099ab9688ce43669cb7bc154a2a (patch) | |
tree | 25550c7c88c6e838905c4c2a0260c6f0adee8bc0 /src/arch/x86/isa/insts | |
parent | c526b00b35d7f135aa926186159df396ee41fbd3 (diff) | |
download | gem5-46bd1c99a9fb3099ab9688ce43669cb7bc154a2a.tar.xz |
X86: Implement the XLAT instruction.
--HG--
extra : convert_revision : 22d7d9e79e722293b4dc1e66d8610301dc04c5fa
Diffstat (limited to 'src/arch/x86/isa/insts')
-rw-r--r-- | src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py b/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py index bb286b976..c2ccb9d19 100644 --- a/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py +++ b/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py @@ -53,8 +53,12 @@ # # Authors: Gabe Black -microcode = "" -#let {{ -# class XLAT(Inst): -# "GenFault ${new UnimpInstFault}" -#}}; +microcode = ''' +def macroop XLAT { + zext t1, rax, 8 + # Here, t1 can be used directly. The value of al is supposed to be treated + # as unsigned. Since we zero extended it from 8 bits above and the address + # size has to be at least 16 bits, t1 will not be sign extended. + ld rax, seg, [1, rbx, t1], dataSize=1 +}; +''' |