VirtualBox

Changeset 76694 in vbox for trunk


Ignore:
Timestamp:
Jan 8, 2019 8:23:46 AM (6 years ago)
Author:
vboxsync
Message:

VMM/HM: Nested VMX: bugref:9180 Description strings for VM-entry/exit/IDT-vectoring information.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm.h

    r76683 r76694  
    141141VMM_INT_DECL(const char *)      HMVmxGetAbortDesc(VMXABORT enmAbort);
    142142VMM_INT_DECL(const char *)      HMVmxGetVmcsStateDesc(uint8_t fVmcsState);
     143VMM_INT_DECL(const char *)      HMVmxGetIdtVectoringInfoTypeDesc(uint8_t uType);
     144VMM_INT_DECL(const char *)      HMVmxGetExitIntInfoTypeDesc(uint8_t uType);
     145VMM_INT_DECL(const char *)      HMVmxGetEntryIntInfoTypeDesc(uint8_t uType);
    143146VMM_INT_DECL(void)              HMHCPagingModeChanged(PVM pVM, PVMCPU pVCpu, PGMMODE enmShadowMode, PGMMODE enmGuestMode);
    144147VMM_INT_DECL(void)              HMVmxGetVmxMsrsFromHwvirtMsrs(PCSUPHWVIRTMSRS pMsrs, PVMXMSRS pVmxMsrs);
  • trunk/src/VBox/VMM/VMMAll/HMVMXAll.cpp

    r76683 r76694  
    421421
    422422/**
     423 * Gets the description for a VM-entry interruption information event type.
     424 *
     425 * @returns The descriptive string.
     426 * @param   uType    The event type.
     427 */
     428VMM_INT_DECL(const char *) HMVmxGetEntryIntInfoTypeDesc(uint8_t uType)
     429{
     430    switch (uType)
     431    {
     432        case VMX_ENTRY_INT_INFO_TYPE_EXT_INT:       return "External Interrupt";
     433        case VMX_ENTRY_INT_INFO_TYPE_NMI:           return "NMI";
     434        case VMX_ENTRY_INT_INFO_TYPE_HW_XCPT:       return "Hardware Exception";
     435        case VMX_ENTRY_INT_INFO_TYPE_SW_INT:        return "Software Interrupt";
     436        case VMX_ENTRY_INT_INFO_TYPE_PRIV_SW_XCPT:  return "Priv. Software Exception";
     437        case VMX_ENTRY_INT_INFO_TYPE_SW_XCPT:       return "Software Exception";
     438        case VMX_ENTRY_INT_INFO_TYPE_OTHER_EVENT:   return "Other Event";
     439        default:
     440            break;
     441    }
     442    return "Unknown/invalid";
     443}
     444
     445
     446/**
     447 * Gets the description for a VM-exit interruption information event type.
     448 *
     449 * @returns The descriptive string.
     450 * @param   uType    The event type.
     451 */
     452VMM_INT_DECL(const char *) HMVmxGetExitIntInfoTypeDesc(uint8_t uType)
     453{
     454    switch (uType)
     455    {
     456        case VMX_EXIT_INT_INFO_TYPE_EXT_INT:       return "External Interrupt";
     457        case VMX_EXIT_INT_INFO_TYPE_NMI:           return "NMI";
     458        case VMX_EXIT_INT_INFO_TYPE_HW_XCPT:       return "Hardware Exception";
     459        case VMX_EXIT_INT_INFO_TYPE_SW_INT:        return "Software Interrupt";
     460        case VMX_EXIT_INT_INFO_TYPE_PRIV_SW_XCPT:  return "Priv. Software Exception";
     461        case VMX_EXIT_INT_INFO_TYPE_SW_XCPT:       return "Software Exception";
     462        default:
     463            break;
     464    }
     465    return "Unknown/invalid";
     466}
     467
     468
     469/**
     470 * Gets the description for an IDT-vectoring information event type.
     471 *
     472 * @returns The descriptive string.
     473 * @param   uType    The event type.
     474 */
     475VMM_INT_DECL(const char *) HMVmxGetIdtVectoringInfoTypeDesc(uint8_t uType)
     476{
     477    switch (uType)
     478    {
     479        case VMX_IDT_VECTORING_INFO_TYPE_EXT_INT:       return "External Interrupt";
     480        case VMX_IDT_VECTORING_INFO_TYPE_NMI:           return "NMI";
     481        case VMX_IDT_VECTORING_INFO_TYPE_HW_XCPT:       return "Hardware Exception";
     482        case VMX_IDT_VECTORING_INFO_TYPE_SW_INT:        return "Software Interrupt";
     483        case VMX_IDT_VECTORING_INFO_TYPE_PRIV_SW_XCPT:  return "Priv. Software Exception";
     484        case VMX_IDT_VECTORING_INFO_TYPE_SW_XCPT:       return "Software Exception";
     485        default:
     486            break;
     487    }
     488    return "Unknown/invalid";
     489}
     490
     491
     492/**
    423493 * Checks if a code selector (CS) is suitable for execution using hardware-assisted
    424494 * VMX when unrestricted execution isn't available.
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