From c59f9456b9ee1d821416761de07759e0402c101c Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 10 Apr 2007 17:13:26 +0000 Subject: 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 --- src/arch/x86/faults.hh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/arch/x86/faults.hh') diff --git a/src/arch/x86/faults.hh b/src/arch/x86/faults.hh index 6d89c273a..8c9afcdb5 100644 --- a/src/arch/x86/faults.hh +++ b/src/arch/x86/faults.hh @@ -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"); -- cgit v1.2.3