5c79eb0410
arch/sparc/isa/base.isa: arch/sparc/isa/decoder.isa: arch/sparc/isa/formats.isa: arch/sparc/isa/formats/branch.isa: arch/sparc/isa/formats/integerop.isa: arch/sparc/isa/formats/mem.isa: arch/sparc/isa/formats/nop.isa: arch/sparc/isa/formats/trap.isa: arch/sparc/isa/formats/unknown.isa: arch/sparc/isa/includes.isa: arch/sparc/isa/operands.isa: Fixes towards running in syscall emulation mode. arch/sparc/linux/process.cc: Fixed the assert and comment to check that the Num_Syscall_Descs is less than or equal to 284. Why does this assert need to exist anyway? base/loader/elf_object.cc: Cleared out comments about resolved issues. cpu/simple/cpu.cc: Use NNPC for both SPARC and MIPS, instead of just MIPS configs/test/hello_sparc: A test program for SPARC which prints "Hello World!" --HG-- rename : arch/sparc/isa/formats/noop.isa => arch/sparc/isa/formats/nop.isa extra : convert_revision : 10b3e3b9f21c215d809cffa930448007102ba698
46 lines
1 KiB
Text
46 lines
1 KiB
Text
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Unknown instructions
|
|
//
|
|
|
|
output header {{
|
|
/**
|
|
* Class for Unknown/Illegal instructions
|
|
*/
|
|
class Unknown : public SparcStaticInst
|
|
{
|
|
public:
|
|
|
|
// Constructor
|
|
Unknown(ExtMachInst _machInst) :
|
|
SparcStaticInst("unknown", _machInst, No_OpClass)
|
|
{
|
|
}
|
|
|
|
%(BasicExecDeclare)s
|
|
|
|
std::string generateDisassembly(Addr pc,
|
|
const SymbolTable *symtab) const;
|
|
|
|
};
|
|
}};
|
|
|
|
output decoder {{
|
|
std::string Unknown::generateDisassembly(Addr pc,
|
|
const SymbolTable *symtab) const
|
|
{
|
|
return "Unknown instruction";
|
|
}
|
|
}};
|
|
|
|
output exec {{
|
|
Fault Unknown::execute(%(CPU_exec_context)s *xc,
|
|
Trace::InstRecord *traceData) const
|
|
{
|
|
return new IllegalInstruction;
|
|
}
|
|
}};
|
|
|
|
def format Unknown() {{
|
|
decode_block = 'return new Unknown(machInst);\n'
|
|
}};
|