arch: Flag all ISAs Unknown instruction as IsInvalid

Change-Id: I096138a157c4e2063c5f4f4324c21c1463dddb65
Signed-off-by: Hoa Nguyen <hn@hnpl.org>
This commit is contained in:
Hoa Nguyen
2024-04-25 05:50:30 +00:00
parent 369029d2be
commit d528a6bd2d
7 changed files with 12 additions and 4 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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;