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:
Gabe Black 2007-04-10 17:13:26 +00:00
parent f53d2ccbfc
commit c59f9456b9

View file

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