VirtualBox

Changeset 59246 in vbox


Ignore:
Timestamp:
Jan 4, 2016 1:58:15 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
104874
Message:

DBGC: Generic event reporting.

Location:
trunk/src/VBox/Debugger
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp

    r59229 r59246  
    407407const DBGCSXEVT g_aDbgcSxEvents[] =
    408408{
    409     { DBGFEVENT_INTERRUPT_HARDWARE,     "hwint",                NULL,       kDbgcSxEventKind_Interrupt, kDbgcEvtState_Disabled },
    410     { DBGFEVENT_INTERRUPT_SOFTWARE,     "swint",                NULL,       kDbgcSxEventKind_Interrupt, kDbgcEvtState_Disabled },
    411     { DBGFEVENT_TRIPLE_FAULT,           "triplefault",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Enabled },
    412     { DBGFEVENT_XCPT_DE,                "xcpt_de",              "de",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    413     { DBGFEVENT_XCPT_DB,                "xcpt_db",              "db",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    414     { DBGFEVENT_XCPT_02,                "xcpt_02",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    415     { DBGFEVENT_XCPT_BP,                "xcpt_bp",              "bp",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    416     { DBGFEVENT_XCPT_OF,                "xcpt_of",              "of",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    417     { DBGFEVENT_XCPT_BR,                "xcpt_br",              "br",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    418     { DBGFEVENT_XCPT_UD,                "xcpt_ud",              "ud",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    419     { DBGFEVENT_XCPT_NM,                "xcpt_nm",              "nm",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    420     { DBGFEVENT_XCPT_DF,                "xcpt_df",              "df",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    421     { DBGFEVENT_XCPT_09,                "xcpt_09",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    422     { DBGFEVENT_XCPT_TS,                "xcpt_ts",              "ts",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    423     { DBGFEVENT_XCPT_NP,                "xcpt_np",              "np",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    424     { DBGFEVENT_XCPT_SS,                "xcpt_ss",              "ss",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    425     { DBGFEVENT_XCPT_GP,                "xcpt_gp",              "gp",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    426     { DBGFEVENT_XCPT_PF,                "xcpt_pf",              "pf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    427     { DBGFEVENT_XCPT_0f,                "xcpt_0f",              "xcpt0f",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    428     { DBGFEVENT_XCPT_MF,                "xcpt_mf",              "mf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    429     { DBGFEVENT_XCPT_AC,                "xcpt_ac",              "ac",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    430     { DBGFEVENT_XCPT_MC,                "xcpt_mc",              "mc",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    431     { DBGFEVENT_XCPT_XF,                "xcpt_xf",              "xf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    432     { DBGFEVENT_XCPT_VE,                "xcpt_vd",              "ve",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    433     { DBGFEVENT_XCPT_15,                "xcpt_15",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    434     { DBGFEVENT_XCPT_16,                "xcpt_16",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    435     { DBGFEVENT_XCPT_17,                "xcpt_17",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    436     { DBGFEVENT_XCPT_18,                "xcpt_18",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    437     { DBGFEVENT_XCPT_19,                "xcpt_19",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    438     { DBGFEVENT_XCPT_1a,                "xcpt_1a",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    439     { DBGFEVENT_XCPT_1b,                "xcpt_1b",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    440     { DBGFEVENT_XCPT_1c,                "xcpt_1c",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    441     { DBGFEVENT_XCPT_1d,                "xcpt_1d",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    442     { DBGFEVENT_XCPT_SX,                "xcpt_sx",              "sx",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    443     { DBGFEVENT_XCPT_1f,                "xcpt_1f",              "xcpt1f",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    444     { DBGFEVENT_INSTR_HALT,             "instr_halt",           "hlt",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    445     { DBGFEVENT_INSTR_MWAIT,            "instr_mwait",          "mwait",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    446     { DBGFEVENT_INSTR_MONITOR,          "instr_monitor",        "monitor",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    447     { DBGFEVENT_INSTR_CPUID,            "instr_cpuid",          "cpuid",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    448     { DBGFEVENT_INSTR_INVD,             "instr_invd",           "invd",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    449     { DBGFEVENT_INSTR_WBINVD,           "instr_wbinvd",         "wbinvd",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    450     { DBGFEVENT_INSTR_INVLPG,           "instr_invlpg",         "invlpg",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    451     { DBGFEVENT_INSTR_RDTSC,            "instr_rdtsc",          "rdtsc",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    452     { DBGFEVENT_INSTR_RDTSCP,           "instr_rdtscp",         "rdtscp",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    453     { DBGFEVENT_INSTR_RDPMC,            "instr_rdpmc",          "rdpmc",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    454     { DBGFEVENT_INSTR_RDMSR,            "instr_rdmsr",          "rdmsr",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    455     { DBGFEVENT_INSTR_WRMSR,            "instr_wrmsr",          "wrmsr",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    456     { DBGFEVENT_INSTR_CRX_READ,         "instr_crx_read",       "crx_read", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    457     { DBGFEVENT_INSTR_CRX_WRITE,        "instr_crx_write",      "crx_write",kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    458     { DBGFEVENT_INSTR_DRX_READ,         "instr_drx_read",       "drx_read", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    459     { DBGFEVENT_INSTR_DRX_WRITE,        "instr_drx_write",      "drx_write",kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    460     { DBGFEVENT_INSTR_PAUSE,            "instr_pause",          "pause",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    461     { DBGFEVENT_INSTR_XSETBV,           "instr_xsetbv",         "xsetbv",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    462     { DBGFEVENT_INSTR_SIDT,             "instr_sidt",           "sidt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    463     { DBGFEVENT_INSTR_LIDT,             "instr_lidt",           "lidt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    464     { DBGFEVENT_INSTR_SGDT,             "instr_sgdt",           "sgdt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    465     { DBGFEVENT_INSTR_LGDT,             "instr_lgdt",           "lgdt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    466     { DBGFEVENT_INSTR_SLDT,             "instr_sldt",           "sldt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    467     { DBGFEVENT_INSTR_LLDT,             "instr_lldt",           "lldt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    468     { DBGFEVENT_INSTR_STR,              "instr_str",            "str",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    469     { DBGFEVENT_INSTR_LTR,              "instr_ltr",            "ltr",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    470     { DBGFEVENT_INSTR_GETSEC,           "instr_getsec",         "getsec",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    471     { DBGFEVENT_INSTR_RSM,              "instr_rsm",            "rsm",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    472     { DBGFEVENT_INSTR_RDRAND,           "instr_rdrand",         "rdrand",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    473     { DBGFEVENT_INSTR_RDSEED,           "instr_rdseed",         "rdseed",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    474     { DBGFEVENT_INSTR_XSAVES,           "instr_xsaves",         "xsaves",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    475     { DBGFEVENT_INSTR_XRSTORS,          "instr_xrstors",        "xrstors",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    476     { DBGFEVENT_INSTR_VMM_CALL,         "instr_vmm_call",       "vmm_call", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    477     { DBGFEVENT_INSTR_VMX_VMCLEAR,      "instr_vmx_vmclear",    "vmclear",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    478     { DBGFEVENT_INSTR_VMX_VMLAUNCH,     "instr_vmx_vmlaunch",   "vmlaunch", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    479     { DBGFEVENT_INSTR_VMX_VMPTRLD,      "instr_vmx_vmptrld",    "vmptrld",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    480     { DBGFEVENT_INSTR_VMX_VMPTRST,      "instr_vmx_vmptrst",    "vmptrst",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    481     { DBGFEVENT_INSTR_VMX_VMREAD,       "instr_vmx_vmread",     "vmread",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    482     { DBGFEVENT_INSTR_VMX_VMRESUME,     "instr_vmx_vmresume",   "vmresume", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    483     { DBGFEVENT_INSTR_VMX_VMWRITE,      "instr_vmx_vmwrite",    "vmwrite",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    484     { DBGFEVENT_INSTR_VMX_VMXOFF,       "instr_vmx_vmxoff",     "vmxoff",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    485     { DBGFEVENT_INSTR_VMX_VMXON,        "instr_vmx_vmxon",      "vmxon",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    486     { DBGFEVENT_INSTR_VMX_VMFUNC,       "instr_vmx_vmfunc",     "vmfunc",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    487     { DBGFEVENT_INSTR_VMX_INVEPT,       "instr_vmx_invept",     "invept",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    488     { DBGFEVENT_INSTR_VMX_INVVPID,      "instr_vmx_invvpid",    "invvpid",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    489     { DBGFEVENT_INSTR_VMX_INVPCID,      "instr_vmx_invpcid",    "invpcid",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    490     { DBGFEVENT_INSTR_SVM_VMRUN,        "instr_svm_vmrun",      "vmrun",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    491     { DBGFEVENT_INSTR_SVM_VMLOAD,       "instr_svm_vmload",     "vmload",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    492     { DBGFEVENT_INSTR_SVM_VMSAVE,       "instr_svm_vmsave",     "vmsave",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    493     { DBGFEVENT_INSTR_SVM_STGI,         "instr_svm_stgi",       "stgi",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    494     { DBGFEVENT_INSTR_SVM_CLGI,         "instr_svm_clgi",       "clgi",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    495     { DBGFEVENT_EXIT_TASK_SWITCH,       "exit_task_switch",  "task_switch", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    496     { DBGFEVENT_EXIT_HALT,              "exit_halt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    497     { DBGFEVENT_EXIT_MWAIT,             "exit_mwait",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    498     { DBGFEVENT_EXIT_MONITOR,           "exit_monitor",         NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    499     { DBGFEVENT_EXIT_CPUID,             "exit_cpuid",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    500     { DBGFEVENT_EXIT_INVD,              "exit_invd",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    501     { DBGFEVENT_EXIT_WBINVD,            "exit_wbinvd",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    502     { DBGFEVENT_EXIT_INVLPG,            "exit_invlpg",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    503     { DBGFEVENT_EXIT_RDTSC,             "exit_rdtsc",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    504     { DBGFEVENT_EXIT_RDTSCP,            "exit_rdtscp",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    505     { DBGFEVENT_EXIT_RDPMC,             "exit_rdpmc",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    506     { DBGFEVENT_EXIT_RDMSR,             "exit_rdmsr",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    507     { DBGFEVENT_EXIT_WRMSR,             "exit_wrmsr",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    508     { DBGFEVENT_EXIT_CRX_READ,          "exit_crx_read",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    509     { DBGFEVENT_EXIT_CRX_WRITE,         "exit_crx_write",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    510     { DBGFEVENT_EXIT_DRX_READ,          "exit_drx_read",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    511     { DBGFEVENT_EXIT_DRX_WRITE,         "exit_drx_write",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    512     { DBGFEVENT_EXIT_PAUSE,             "exit_pause",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    513     { DBGFEVENT_EXIT_XSETBV,            "exit_xsetbv",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    514     { DBGFEVENT_EXIT_SIDT,              "exit_sidt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    515     { DBGFEVENT_EXIT_LIDT,              "exit_lidt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    516     { DBGFEVENT_EXIT_SGDT,              "exit_sgdt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    517     { DBGFEVENT_EXIT_LGDT,              "exit_lgdt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    518     { DBGFEVENT_EXIT_SLDT,              "exit_sldt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    519     { DBGFEVENT_EXIT_LLDT,              "exit_lldt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    520     { DBGFEVENT_EXIT_STR,               "exit_str",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    521     { DBGFEVENT_EXIT_LTR,               "exit_ltr",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    522     { DBGFEVENT_EXIT_GETSEC,            "exit_getsec",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    523     { DBGFEVENT_EXIT_RSM,               "exit_rsm",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    524     { DBGFEVENT_EXIT_RDRAND,            "exit_rdrand",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    525     { DBGFEVENT_EXIT_RDSEED,            "exit_rdseed",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    526     { DBGFEVENT_EXIT_XSAVES,            "exit_xsaves",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    527     { DBGFEVENT_EXIT_XRSTORS,           "exit_xrstors",         NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    528     { DBGFEVENT_EXIT_VMM_CALL,          "exit_vmm_call",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    529     { DBGFEVENT_EXIT_VMX_VMCLEAR,       "exit_vmx_vmclear",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    530     { DBGFEVENT_EXIT_VMX_VMLAUNCH,      "exit_vmx_vmlaunch",    NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    531     { DBGFEVENT_EXIT_VMX_VMPTRLD,       "exit_vmx_vmptrld",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    532     { DBGFEVENT_EXIT_VMX_VMPTRST,       "exit_vmx_vmptrst",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    533     { DBGFEVENT_EXIT_VMX_VMREAD,        "exit_vmx_vmread",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    534     { DBGFEVENT_EXIT_VMX_VMRESUME,      "exit_vmx_vmresume",    NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    535     { DBGFEVENT_EXIT_VMX_VMWRITE,       "exit_vmx_vmwrite",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    536     { DBGFEVENT_EXIT_VMX_VMXOFF,        "exit_vmx_vmxoff",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    537     { DBGFEVENT_EXIT_VMX_VMXON,         "exit_vmx_vmxon",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    538     { DBGFEVENT_EXIT_VMX_VMFUNC,        "exit_vmx_vmfunc",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    539     { DBGFEVENT_EXIT_VMX_INVEPT,        "exit_vmx_invept",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    540     { DBGFEVENT_EXIT_VMX_INVVPID,       "exit_vmx_invvpid",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    541     { DBGFEVENT_EXIT_VMX_INVPCID,       "exit_vmx_invpcid",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    542     { DBGFEVENT_EXIT_VMX_EPT_VIOLATION, "exit_vmx_ept_violation", "eptvio", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    543     { DBGFEVENT_EXIT_VMX_EPT_MISCONFIG, "exit_vmx_ept_misconfig", "eptmis", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    544     { DBGFEVENT_EXIT_VMX_VAPIC_ACCESS,  "exit_vmx_vapic_access", NULL,      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    545     { DBGFEVENT_EXIT_VMX_VAPIC_WRITE,   "exit_vmx_vapic_write", NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    546     { DBGFEVENT_EXIT_SVM_VMRUN,         "exit_svm_vmrun",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    547     { DBGFEVENT_EXIT_SVM_VMLOAD,        "exit_svm_vmload",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    548     { DBGFEVENT_EXIT_SVM_VMSAVE,        "exit_svm_vmsave",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    549     { DBGFEVENT_EXIT_SVM_STGI,          "exit_svm_stgi",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    550     { DBGFEVENT_EXIT_SVM_CLGI,          "exit_svm_clgi",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    551     { DBGFEVENT_IOPORT_UNASSIGNED,      "pio_unassigned",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    552     { DBGFEVENT_IOPORT_UNUSED,          "pio_unused",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    553     { DBGFEVENT_MEMORY_UNASSIGNED,      "mmio_unassigned",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
    554     { DBGFEVENT_MEMORY_ROM_WRITE,       "rom_write",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled },
     409    { DBGFEVENT_INTERRUPT_HARDWARE,     "hwint",                NULL,       kDbgcSxEventKind_Interrupt, kDbgcEvtState_Disabled, 0,                    "Hardware interrupt" },
     410    { DBGFEVENT_INTERRUPT_SOFTWARE,     "swint",                NULL,       kDbgcSxEventKind_Interrupt, kDbgcEvtState_Disabled, 0,                    "Software interrupt" },
     411    { DBGFEVENT_TRIPLE_FAULT,           "triplefault",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Enabled,  0,                    "Triple fault "},
     412    { DBGFEVENT_XCPT_DE,                "xcpt_de",              "de",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#DE (integer divide error)" },
     413    { DBGFEVENT_XCPT_DB,                "xcpt_db",              "db",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#DB (debug)" },
     414    { DBGFEVENT_XCPT_02,                "xcpt_02",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     415    { DBGFEVENT_XCPT_BP,                "xcpt_bp",              "bp",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#BP (breakpoint)" },
     416    { DBGFEVENT_XCPT_OF,                "xcpt_of",              "of",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#OF (overflow (INTO))" },
     417    { DBGFEVENT_XCPT_BR,                "xcpt_br",              "br",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#BR (bound range exceeded)" },
     418    { DBGFEVENT_XCPT_UD,                "xcpt_ud",              "ud",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#UD (undefined opcode)" },
     419    { DBGFEVENT_XCPT_NM,                "xcpt_nm",              "nm",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#NM (FPU not available)" },
     420    { DBGFEVENT_XCPT_DF,                "xcpt_df",              "df",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#DF (double fault)" },
     421    { DBGFEVENT_XCPT_09,                "xcpt_09",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "Coprocessor segment overrun" },
     422    { DBGFEVENT_XCPT_TS,                "xcpt_ts",              "ts",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#TS (task switch)" },
     423    { DBGFEVENT_XCPT_NP,                "xcpt_np",              "np",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#NP (segment not present)" },
     424    { DBGFEVENT_XCPT_SS,                "xcpt_ss",              "ss",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#SS (stack segment fault)" },
     425    { DBGFEVENT_XCPT_GP,                "xcpt_gp",              "gp",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#GP (general protection fault)" },
     426    { DBGFEVENT_XCPT_PF,                "xcpt_pf",              "pf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#PF (page fault)" },
     427    { DBGFEVENT_XCPT_0f,                "xcpt_0f",              "xcpt0f",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     428    { DBGFEVENT_XCPT_MF,                "xcpt_mf",              "mf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#MF (math fault)" },
     429    { DBGFEVENT_XCPT_AC,                "xcpt_ac",              "ac",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#AC (alignment check)" },
     430    { DBGFEVENT_XCPT_MC,                "xcpt_mc",              "mc",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#MC (machine check)" },
     431    { DBGFEVENT_XCPT_XF,                "xcpt_xf",              "xf",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#XF (SIMD floating-point exception)" },
     432    { DBGFEVENT_XCPT_VE,                "xcpt_vd",              "ve",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    "#VE (virtualization exception)" },
     433    { DBGFEVENT_XCPT_15,                "xcpt_15",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     434    { DBGFEVENT_XCPT_16,                "xcpt_16",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     435    { DBGFEVENT_XCPT_17,                "xcpt_17",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     436    { DBGFEVENT_XCPT_18,                "xcpt_18",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     437    { DBGFEVENT_XCPT_19,                "xcpt_19",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     438    { DBGFEVENT_XCPT_1a,                "xcpt_1a",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     439    { DBGFEVENT_XCPT_1b,                "xcpt_1b",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     440    { DBGFEVENT_XCPT_1c,                "xcpt_1c",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     441    { DBGFEVENT_XCPT_1d,                "xcpt_1d",              NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     442    { DBGFEVENT_XCPT_SX,                "xcpt_sx",              "sx",       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, "#SX (security exception)" },
     443    { DBGFEVENT_XCPT_1f,                "xcpt_1f",              "xcpt1f",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     444    { DBGFEVENT_INSTR_HALT,             "instr_halt",           "hlt",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     445    { DBGFEVENT_INSTR_MWAIT,            "instr_mwait",          "mwait",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     446    { DBGFEVENT_INSTR_MONITOR,          "instr_monitor",        "monitor",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     447    { DBGFEVENT_INSTR_CPUID,            "instr_cpuid",          "cpuid",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     448    { DBGFEVENT_INSTR_INVD,             "instr_invd",           "invd",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     449    { DBGFEVENT_INSTR_WBINVD,           "instr_wbinvd",         "wbinvd",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     450    { DBGFEVENT_INSTR_INVLPG,           "instr_invlpg",         "invlpg",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     451    { DBGFEVENT_INSTR_RDTSC,            "instr_rdtsc",          "rdtsc",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     452    { DBGFEVENT_INSTR_RDTSCP,           "instr_rdtscp",         "rdtscp",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     453    { DBGFEVENT_INSTR_RDPMC,            "instr_rdpmc",          "rdpmc",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     454    { DBGFEVENT_INSTR_RDMSR,            "instr_rdmsr",          "rdmsr",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     455    { DBGFEVENT_INSTR_WRMSR,            "instr_wrmsr",          "wrmsr",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     456    { DBGFEVENT_INSTR_CRX_READ,         "instr_crx_read",       "crx_read", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, NULL },
     457    { DBGFEVENT_INSTR_CRX_WRITE,        "instr_crx_write",      "crx_write",kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, NULL },
     458    { DBGFEVENT_INSTR_DRX_READ,         "instr_drx_read",       "drx_read", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, NULL },
     459    { DBGFEVENT_INSTR_DRX_WRITE,        "instr_drx_write",      "drx_write",kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, DBGCSXEVT_F_TAKE_ARG, NULL },
     460    { DBGFEVENT_INSTR_PAUSE,            "instr_pause",          "pause",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     461    { DBGFEVENT_INSTR_XSETBV,           "instr_xsetbv",         "xsetbv",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     462    { DBGFEVENT_INSTR_SIDT,             "instr_sidt",           "sidt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     463    { DBGFEVENT_INSTR_LIDT,             "instr_lidt",           "lidt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     464    { DBGFEVENT_INSTR_SGDT,             "instr_sgdt",           "sgdt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     465    { DBGFEVENT_INSTR_LGDT,             "instr_lgdt",           "lgdt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     466    { DBGFEVENT_INSTR_SLDT,             "instr_sldt",           "sldt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     467    { DBGFEVENT_INSTR_LLDT,             "instr_lldt",           "lldt",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     468    { DBGFEVENT_INSTR_STR,              "instr_str",            "str",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     469    { DBGFEVENT_INSTR_LTR,              "instr_ltr",            "ltr",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     470    { DBGFEVENT_INSTR_GETSEC,           "instr_getsec",         "getsec",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     471    { DBGFEVENT_INSTR_RSM,              "instr_rsm",            "rsm",      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     472    { DBGFEVENT_INSTR_RDRAND,           "instr_rdrand",         "rdrand",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     473    { DBGFEVENT_INSTR_RDSEED,           "instr_rdseed",         "rdseed",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     474    { DBGFEVENT_INSTR_XSAVES,           "instr_xsaves",         "xsaves",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     475    { DBGFEVENT_INSTR_XRSTORS,          "instr_xrstors",        "xrstors",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     476    { DBGFEVENT_INSTR_VMM_CALL,         "instr_vmm_call",       "vmm_call", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     477    { DBGFEVENT_INSTR_VMX_VMCLEAR,      "instr_vmx_vmclear",    "vmclear",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     478    { DBGFEVENT_INSTR_VMX_VMLAUNCH,     "instr_vmx_vmlaunch",   "vmlaunch", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     479    { DBGFEVENT_INSTR_VMX_VMPTRLD,      "instr_vmx_vmptrld",    "vmptrld",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     480    { DBGFEVENT_INSTR_VMX_VMPTRST,      "instr_vmx_vmptrst",    "vmptrst",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     481    { DBGFEVENT_INSTR_VMX_VMREAD,       "instr_vmx_vmread",     "vmread",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     482    { DBGFEVENT_INSTR_VMX_VMRESUME,     "instr_vmx_vmresume",   "vmresume", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     483    { DBGFEVENT_INSTR_VMX_VMWRITE,      "instr_vmx_vmwrite",    "vmwrite",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     484    { DBGFEVENT_INSTR_VMX_VMXOFF,       "instr_vmx_vmxoff",     "vmxoff",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     485    { DBGFEVENT_INSTR_VMX_VMXON,        "instr_vmx_vmxon",      "vmxon",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     486    { DBGFEVENT_INSTR_VMX_VMFUNC,       "instr_vmx_vmfunc",     "vmfunc",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     487    { DBGFEVENT_INSTR_VMX_INVEPT,       "instr_vmx_invept",     "invept",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     488    { DBGFEVENT_INSTR_VMX_INVVPID,      "instr_vmx_invvpid",    "invvpid",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     489    { DBGFEVENT_INSTR_VMX_INVPCID,      "instr_vmx_invpcid",    "invpcid",  kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     490    { DBGFEVENT_INSTR_SVM_VMRUN,        "instr_svm_vmrun",      "vmrun",    kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     491    { DBGFEVENT_INSTR_SVM_VMLOAD,       "instr_svm_vmload",     "vmload",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     492    { DBGFEVENT_INSTR_SVM_VMSAVE,       "instr_svm_vmsave",     "vmsave",   kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     493    { DBGFEVENT_INSTR_SVM_STGI,         "instr_svm_stgi",       "stgi",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     494    { DBGFEVENT_INSTR_SVM_CLGI,         "instr_svm_clgi",       "clgi",     kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     495    { DBGFEVENT_EXIT_TASK_SWITCH,       "exit_task_switch",  "task_switch", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     496    { DBGFEVENT_EXIT_HALT,              "exit_halt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     497    { DBGFEVENT_EXIT_MWAIT,             "exit_mwait",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     498    { DBGFEVENT_EXIT_MONITOR,           "exit_monitor",         NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     499    { DBGFEVENT_EXIT_CPUID,             "exit_cpuid",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     500    { DBGFEVENT_EXIT_INVD,              "exit_invd",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     501    { DBGFEVENT_EXIT_WBINVD,            "exit_wbinvd",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     502    { DBGFEVENT_EXIT_INVLPG,            "exit_invlpg",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     503    { DBGFEVENT_EXIT_RDTSC,             "exit_rdtsc",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     504    { DBGFEVENT_EXIT_RDTSCP,            "exit_rdtscp",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     505    { DBGFEVENT_EXIT_RDPMC,             "exit_rdpmc",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     506    { DBGFEVENT_EXIT_RDMSR,             "exit_rdmsr",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     507    { DBGFEVENT_EXIT_WRMSR,             "exit_wrmsr",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     508    { DBGFEVENT_EXIT_CRX_READ,          "exit_crx_read",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     509    { DBGFEVENT_EXIT_CRX_WRITE,         "exit_crx_write",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     510    { DBGFEVENT_EXIT_DRX_READ,          "exit_drx_read",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     511    { DBGFEVENT_EXIT_DRX_WRITE,         "exit_drx_write",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     512    { DBGFEVENT_EXIT_PAUSE,             "exit_pause",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     513    { DBGFEVENT_EXIT_XSETBV,            "exit_xsetbv",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     514    { DBGFEVENT_EXIT_SIDT,              "exit_sidt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     515    { DBGFEVENT_EXIT_LIDT,              "exit_lidt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     516    { DBGFEVENT_EXIT_SGDT,              "exit_sgdt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     517    { DBGFEVENT_EXIT_LGDT,              "exit_lgdt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     518    { DBGFEVENT_EXIT_SLDT,              "exit_sldt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     519    { DBGFEVENT_EXIT_LLDT,              "exit_lldt",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     520    { DBGFEVENT_EXIT_STR,               "exit_str",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     521    { DBGFEVENT_EXIT_LTR,               "exit_ltr",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     522    { DBGFEVENT_EXIT_GETSEC,            "exit_getsec",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     523    { DBGFEVENT_EXIT_RSM,               "exit_rsm",             NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     524    { DBGFEVENT_EXIT_RDRAND,            "exit_rdrand",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     525    { DBGFEVENT_EXIT_RDSEED,            "exit_rdseed",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     526    { DBGFEVENT_EXIT_XSAVES,            "exit_xsaves",          NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     527    { DBGFEVENT_EXIT_XRSTORS,           "exit_xrstors",         NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     528    { DBGFEVENT_EXIT_VMM_CALL,          "exit_vmm_call",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     529    { DBGFEVENT_EXIT_VMX_VMCLEAR,       "exit_vmx_vmclear",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     530    { DBGFEVENT_EXIT_VMX_VMLAUNCH,      "exit_vmx_vmlaunch",    NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     531    { DBGFEVENT_EXIT_VMX_VMPTRLD,       "exit_vmx_vmptrld",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     532    { DBGFEVENT_EXIT_VMX_VMPTRST,       "exit_vmx_vmptrst",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     533    { DBGFEVENT_EXIT_VMX_VMREAD,        "exit_vmx_vmread",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     534    { DBGFEVENT_EXIT_VMX_VMRESUME,      "exit_vmx_vmresume",    NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     535    { DBGFEVENT_EXIT_VMX_VMWRITE,       "exit_vmx_vmwrite",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     536    { DBGFEVENT_EXIT_VMX_VMXOFF,        "exit_vmx_vmxoff",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     537    { DBGFEVENT_EXIT_VMX_VMXON,         "exit_vmx_vmxon",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     538    { DBGFEVENT_EXIT_VMX_VMFUNC,        "exit_vmx_vmfunc",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     539    { DBGFEVENT_EXIT_VMX_INVEPT,        "exit_vmx_invept",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     540    { DBGFEVENT_EXIT_VMX_INVVPID,       "exit_vmx_invvpid",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     541    { DBGFEVENT_EXIT_VMX_INVPCID,       "exit_vmx_invpcid",     NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     542    { DBGFEVENT_EXIT_VMX_EPT_VIOLATION, "exit_vmx_ept_violation", "eptvio", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     543    { DBGFEVENT_EXIT_VMX_EPT_MISCONFIG, "exit_vmx_ept_misconfig", "eptmis", kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     544    { DBGFEVENT_EXIT_VMX_VAPIC_ACCESS,  "exit_vmx_vapic_access", NULL,      kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     545    { DBGFEVENT_EXIT_VMX_VAPIC_WRITE,   "exit_vmx_vapic_write", NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     546    { DBGFEVENT_EXIT_SVM_VMRUN,         "exit_svm_vmrun",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     547    { DBGFEVENT_EXIT_SVM_VMLOAD,        "exit_svm_vmload",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     548    { DBGFEVENT_EXIT_SVM_VMSAVE,        "exit_svm_vmsave",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     549    { DBGFEVENT_EXIT_SVM_STGI,          "exit_svm_stgi",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     550    { DBGFEVENT_EXIT_SVM_CLGI,          "exit_svm_clgi",        NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     551    { DBGFEVENT_IOPORT_UNASSIGNED,      "pio_unassigned",       NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     552    { DBGFEVENT_IOPORT_UNUSED,          "pio_unused",           NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     553    { DBGFEVENT_MEMORY_UNASSIGNED,      "mmio_unassigned",      NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
     554    { DBGFEVENT_MEMORY_ROM_WRITE,       "rom_write",            NULL,       kDbgcSxEventKind_Plain,     kDbgcEvtState_Disabled, 0,                    NULL },
    555555};
    556556/** Number of entries in g_aDbgcSxEvents.  */
  • trunk/src/VBox/Debugger/DBGCInternal.h

    r59229 r59246  
    401401typedef struct DBGCSXEVT
    402402{
     403    /** The event type. */
    403404    DBGFEVENTTYPE   enmType;
     405    /** The event name. */
    404406    const char     *pszName;
     407    /** Alternative event name (optional). */
    405408    const char     *pszAltNm;
     409    /** The kind of event. */
    406410    DBGCSXEVENTKIND enmKind;
     411    /** The default state. */
    407412    DBGCEVTSTATE    enmDefault;
     413    /** Flags, DBGCSXEVT_F_XXX. */
     414    uint32_t        fFlags;
     415    /** Description for use when reporting the event, optional. */
     416    const char     *pszDesc;
    408417} DBGCSXEVT;
    409418/** Pointer to a constant selectable debug event descriptor. */
    410419typedef DBGCSXEVT const *PCDBGCSXEVT;
     420
     421/** @name DBGCSXEVT_F_XXX
     422 * @{ */
     423#define DBGCSXEVT_F_TAKE_ARG        RT_BIT_32(0)
     424/** @} */
    411425
    412426
  • trunk/src/VBox/Debugger/DBGConsole.cpp

    r59229 r59246  
    605605
    606606/**
     607 * Looks up a generic debug event.
     608 *
     609 * @returns Pointer to DBGCSXEVT structure if found, otherwise NULL.
     610 * @param   enmType     The possibly generic event to find the descriptor for.
     611 */
     612static PCDBGCSXEVT dbgcEventLookup(DBGFEVENTTYPE enmType)
     613{
     614    uint32_t i = g_cDbgcSxEvents;
     615    while (i-- > 0)
     616        if (g_aDbgcSxEvents[i].enmType == enmType)
     617            return &g_aDbgcSxEvents[i];
     618    return NULL;
     619}
     620
     621
     622/**
    607623 * Processes debugger events.
    608624 *
     
    764780        default:
    765781        {
    766             rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf/dbgc error: Unknown event %d!\n", pEvent->enmType);
     782            /*
     783             * Probably a generic event. Look it up to find its name.
     784             */
     785            PCDBGCSXEVT pEvtDesc = dbgcEventLookup(pEvent->enmType);
     786            if (pEvtDesc)
     787            {
     788                if (pEvtDesc->enmKind == kDbgcSxEventKind_Interrupt)
     789                {
     790                    Assert(pEvtDesc->pszDesc);
     791                    rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf event: %s no %#llx! (%s)\n",
     792                                                 pEvtDesc->pszDesc, pEvent->u.Generic.uArg, pEvtDesc->pszName);
     793                }
     794                else if (   (pEvtDesc->fFlags & DBGCSXEVT_F_TAKE_ARG)
     795                         || pEvent->u.Generic.uArg != 0)
     796                {
     797                    if (pEvtDesc->pszDesc)
     798                        rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf event: %s - %s! arg=%#llx\n",
     799                                                     pEvtDesc->pszName, pEvtDesc->pszDesc, pEvent->u.Generic.uArg);
     800                    else
     801                        rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf event: %s! arg=%#llx\n",
     802                                                     pEvtDesc->pszName, pEvent->u.Generic.uArg);
     803                }
     804                else
     805                {
     806                    if (pEvtDesc->pszDesc)
     807                        rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf event: %s - %s!\n",
     808                                                     pEvtDesc->pszName, pEvtDesc->pszDesc);
     809                    else
     810                        rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf event: %s!\n", pEvtDesc->pszName);
     811                }
     812            }
     813            else
     814                rc = pDbgc->CmdHlp.pfnPrintf(&pDbgc->CmdHlp, NULL, "\ndbgf/dbgc error: Unknown event %d!\n", pEvent->enmType);
    767815            break;
    768816        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette