summaryrefslogtreecommitdiff
path: root/src/arch/x86/x86_traits.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2012-06-04 10:57:23 -0700
committerGabe Black <gblack@eecs.umich.edu>2012-06-04 10:57:23 -0700
commit008b17d8161ef1d880347bfbbe49336a1446e56e (patch)
tree7b3a159ed5369ae1bfc1c8fedb970e426a77e0c9 /src/arch/x86/x86_traits.hh
parent6437f3f4ee5275f59a4472d95e0abac1a8b82e22 (diff)
downloadgem5-008b17d8161ef1d880347bfbbe49336a1446e56e.tar.xz
ISA: Turn the ExtMachInst NoopMachinst into the StaticInstPtr NoopStaticInst.
This eliminates a use of the ExtMachInst type outside of the ISAs.
Diffstat (limited to 'src/arch/x86/x86_traits.hh')
-rw-r--r--src/arch/x86/x86_traits.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/arch/x86/x86_traits.hh b/src/arch/x86/x86_traits.hh
index 6157cb30b..a94d806ef 100644
--- a/src/arch/x86/x86_traits.hh
+++ b/src/arch/x86/x86_traits.hh
@@ -40,6 +40,7 @@
#include <cassert>
+#include "arch/x86/types.hh"
#include "base/types.hh"
namespace X86ISA
@@ -104,6 +105,18 @@ namespace X86ISA
assert(addr < PhysAddrAPICRangeSize);
return PhysAddrPrefixInterrupts | (id * PhysAddrAPICRangeSize) | addr;
}
+
+ const ExtMachInst NoopMachInst = {
+ 0x0, // No legacy prefixes.
+ 0x0, // No rex prefix.
+ { 1, 0x0, 0x0, 0x90 }, // One opcode byte, 0x90.
+ 0x0, 0x0, // No modrm or sib.
+ 0, 0, // No immediate or displacement.
+ 8, 8, 8, // All sizes are 8.
+ 0, // Displacement size is 0.
+ SixtyFourBitMode // Behave as if we're in 64 bit
+ // mode (this doesn't actually matter).
+ };
}
#endif //__ARCH_X86_X86TRAITS_HH__