arch: Flag all ISAs Unknown instruction as IsInvalid
Change-Id: I096138a157c4e2063c5f4f4324c21c1463dddb65 Signed-off-by: Hoa Nguyen <hn@hnpl.org>
This commit is contained in:
@@ -848,7 +848,8 @@ let {{
|
||||
'''
|
||||
unknownIop = ArmInstObjParams("unknown", "Unknown", "UnknownOp", \
|
||||
{ "code": unknownCode,
|
||||
"predicate_test": predicateTest })
|
||||
"predicate_test": predicateTest },
|
||||
['IsInvalid'])
|
||||
header_output += BasicDeclare.subst(unknownIop)
|
||||
decoder_output += BasicConstructor.subst(unknownIop)
|
||||
exec_output += PredOpExecute.subst(unknownIop)
|
||||
|
||||
@@ -183,7 +183,7 @@ let {{
|
||||
return std::make_shared<UndefinedInstruction>(machInst, true);
|
||||
'''
|
||||
unknown64Iop = ArmInstObjParams("unknown", "Unknown64", "UnknownOp64",
|
||||
unknownCode)
|
||||
unknownCode, ['IsInvalid'])
|
||||
header_output += BasicDeclare.subst(unknown64Iop)
|
||||
decoder_output += BasicConstructor64.subst(unknown64Iop)
|
||||
exec_output += BasicExecute.subst(unknown64Iop)
|
||||
|
||||
@@ -47,6 +47,7 @@ output header {{
|
||||
// don't call execute() (which panics) if we're on a
|
||||
// speculative path
|
||||
flags[IsNonSpeculative] = true;
|
||||
flags[IsInvalid] = true;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, trace::InstRecord *) const override;
|
||||
|
||||
@@ -49,6 +49,7 @@ output header {{
|
||||
// don't call execute() (which panics) if we're on a
|
||||
// speculative path
|
||||
flags[IsNonSpeculative] = true;
|
||||
flags[IsInvalid] = true;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, trace::InstRecord *) const override;
|
||||
|
||||
@@ -54,7 +54,9 @@ class Unknown : public RiscvStaticInst
|
||||
public:
|
||||
Unknown(ExtMachInst _machInst)
|
||||
: RiscvStaticInst("unknown", _machInst, No_OpClass)
|
||||
{}
|
||||
{
|
||||
flags[IsInvalid] = true;
|
||||
}
|
||||
|
||||
Fault
|
||||
execute(ExecContext *, trace::InstRecord *) const override
|
||||
|
||||
@@ -47,7 +47,9 @@ class Unknown : public SparcStaticInst
|
||||
// Constructor
|
||||
Unknown(ExtMachInst _machInst) :
|
||||
SparcStaticInst("unknown", _machInst, No_OpClass)
|
||||
{}
|
||||
{
|
||||
flags[IsInvalid] = true;
|
||||
}
|
||||
|
||||
Fault
|
||||
execute(ExecContext *, trace::InstRecord *) const override
|
||||
|
||||
@@ -53,6 +53,7 @@ output header {{
|
||||
Unknown(ExtMachInst _machInst) :
|
||||
X86ISA::X86StaticInst("unknown", _machInst, No_OpClass)
|
||||
{
|
||||
flags[IsInvalid] = true;
|
||||
}
|
||||
|
||||
Fault execute(ExecContext *, trace::InstRecord *) const override;
|
||||
|
||||
Reference in New Issue
Block a user