Fix up the base x86 fault object and create a fault to be generated by unimplemented instructions in their microcode. This is useful if certain variations of an instruction are implemented, but, for instance, it's memory based versions aren't.
--HG-- extra : convert_revision : 24e69c5a6a0af2d0cf67e858a051ae6624bb300f
This commit is contained in:
parent
f53d2ccbfc
commit
c59f9456b9
1 changed files with 20 additions and 0 deletions
|
@ -65,12 +65,32 @@ namespace X86ISA
|
|||
{
|
||||
class X86Fault : public FaultBase
|
||||
{
|
||||
protected:
|
||||
const char * name()
|
||||
{
|
||||
return "generic_x86_fault";
|
||||
}
|
||||
|
||||
void invoke(ThreadContext * tc)
|
||||
{
|
||||
panic("X86 faults are not implemented!");
|
||||
}
|
||||
};
|
||||
|
||||
class UnimpInstFault : public FaultBase
|
||||
{
|
||||
public:
|
||||
const char * name()
|
||||
{
|
||||
return "unimplemented_micro";
|
||||
}
|
||||
|
||||
void invoke(ThreadContext * tc)
|
||||
{
|
||||
panic("Unimplemented instruction!");
|
||||
}
|
||||
};
|
||||
|
||||
static inline Fault genPageTableFault(Addr va)
|
||||
{
|
||||
panic("Page table fault not implemented in x86!\n");
|
||||
|
|
Loading…
Reference in a new issue