alpha,arm,mips,power,riscv,sparc,x86,cpu: Get rid of ISA_HAS_DELAY_SLOT.
[gem5.git] / src / arch / alpha / isa_traits.hh
index 97cb845bf4375ba4eee94d781399718949e1a3a0..61688b5c8be155b3177db36e540c8bdfc6026850 100644 (file)
@@ -34,6 +34,7 @@
 
 namespace LittleEndianGuest {}
 
+#include "arch/alpha/ipr.hh"
 #include "arch/alpha/types.hh"
 #include "base/types.hh"
 #include "cpu/static_inst_fwd.hh"
@@ -44,9 +45,6 @@ using namespace LittleEndianGuest;
 
 StaticInstPtr decodeInst(ExtMachInst);
 
-// Alpha Does NOT have a delay slot
-#define ISA_HAS_DELAY_SLOT 0
-
 const Addr PageShift = 13;
 const Addr PageBytes = ULL(1) << PageShift;
 const Addr PageMask = ~(PageBytes - 1);
@@ -108,27 +106,14 @@ enum mode_type
     mode_number             // number of modes
 };
 
-// Constants Related to the number of registers
-
-enum {
-    LogVMPageSize = 13,       // 8K bytes
-    VMPageSize = (1 << LogVMPageSize),
-
-    BranchPredAddrShiftAmt = 2, // instructions are 4-byte aligned
-
-    MachineBytes = 8,
-    WordBytes = 4,
-    HalfwordBytes = 2,
-    ByteBytes = 1,
-};
-
-// return a no-op instruction... used for instruction fetch faults
-// Alpha UNOP (ldq_u r31,0(r0))
-const ExtMachInst NoopMachInst = 0x2ffe0000;
+const int MachineBytes = 8;
 
 // Memory accesses cannot be unaligned
 const bool HasUnalignedMemAcc = false;
 
+const bool CurThreadInfoImplemented = true;
+const int CurThreadInfoReg = AlphaISA::IPR_PALtemp23;
+
 } // namespace AlphaISA
 
 #endif // __ARCH_ALPHA_ISA_TRAITS_HH__