x86_ept x86_exception_query
API Reference Manual  /  4 Model-to-Model Interfaces  / 

x86_exception

Description
The methods in this interface is used to raise exceptions from the instrumentation replace or user decoder functionality (it is illegal to invoke these methods from any other context). The methods perform longjmps and do not return.

This interface is internal and may change without notice.

SIM_INTERFACE(x86_exception) {
        void (*DE_fault)(conf_object_t *cpu);

        void (*BR_fault)(conf_object_t *cpu);
        void (*UD_fault)(conf_object_t *cpu);
        void (*NM_fault)(conf_object_t *cpu);
        void (*DF_abort)(conf_object_t *cpu, const char *desc);

        void (*TS_fault)(conf_object_t *cpu, uint16 sel);
        void (*NP_fault)(conf_object_t *cpu, uint16 sel_vec, bool is_vec);

        void (*SS_fault)(conf_object_t *cpu, uint16 sel);
        void (*GP_fault)(conf_object_t *cpu, uint16 sel_vec, bool is_vec,
                         const char *desc);
        void (*PF_fault)(conf_object_t *cpu, linear_address_t laddr,
                         uint32 ecode);
        void (*MF_fault)(conf_object_t *cpu);
        void (*AC_fault)(conf_object_t *cpu);
        void (*XM_fault)(conf_object_t *cpu);
};
#define X86_EXCEPTION_INTERFACE "x86_exception"

Execution Context
The methods in this interface may only be called from user decoder service routines.

x86_ept x86_exception_query