From 12eac0c88e21ddc76593079127a4507558cddc40 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Thu, 25 Oct 2018 11:14:47 +0100 Subject: arch-arm: Move AArch32 IMPLEMENTATION DEFINED registers Moving AArch32 instruction accessing IMPLEMENTATION DEFINED registers from pseudo.[cc/hh] to misc.[cc/hh] in order to symmetrically match with AArch64 implementation. Change-Id: I27b0d65925d7965589b765269ae54129426e4c88 Signed-off-by: Giacomo Travaglini Reviewed-by: Nikos Nikoleris Reviewed-on: https://gem5-review.googlesource.com/c/15735 Reviewed-by: Andreas Sandberg Maintainer: Andreas Sandberg --- src/arch/arm/insts/pseudo.hh | 42 ------------------------------------------ 1 file changed, 42 deletions(-) (limited to 'src/arch/arm/insts/pseudo.hh') diff --git a/src/arch/arm/insts/pseudo.hh b/src/arch/arm/insts/pseudo.hh index 9065c6281..c7ed08d30 100644 --- a/src/arch/arm/insts/pseudo.hh +++ b/src/arch/arm/insts/pseudo.hh @@ -119,48 +119,6 @@ class WarnUnimplemented : public ArmStaticInst Addr pc, const SymbolTable *symtab) const override; }; -/** - * Certain mrc/mcr instructions act as nops or flush the pipe based on what - * register the instruction is trying to access. This inst/class exists so that - * we can still check for hyp traps, as the normal nop instruction - * does not. - */ -class McrMrcMiscInst : public ArmStaticInst -{ - protected: - uint64_t iss; - MiscRegIndex miscReg; - - public: - McrMrcMiscInst(const char *_mnemonic, ExtMachInst _machInst, - uint64_t _iss, MiscRegIndex _miscReg); - - Fault execute(ExecContext *xc, - Trace::InstRecord *traceData) const override; - - std::string generateDisassembly( - Addr pc, const SymbolTable *symtab) const override; - -}; - -/** - * This class is also used for IMPLEMENTATION DEFINED registers, whose mcr/mrc - * behaviour is trappable even for unimplemented registers. - */ -class McrMrcImplDefined : public McrMrcMiscInst -{ - public: - McrMrcImplDefined(const char *_mnemonic, ExtMachInst _machInst, - uint64_t _iss, MiscRegIndex _miscReg); - - Fault execute(ExecContext *xc, - Trace::InstRecord *traceData) const override; - - std::string generateDisassembly( - Addr pc, const SymbolTable *symtab) const override; - -}; - /** * This class is modelling instructions which are not going to be * executed since they are flagged as Illegal Execution Instructions -- cgit v1.2.3