VirtualBox

Changeset 14580 in vbox


Ignore:
Timestamp:
Nov 25, 2008 4:03:04 PM (16 years ago)
Author:
vboxsync
Message:

Some updates

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/hwacc_vmx.h

    r14557 r14580  
    886886 * @{
    887887 */
    888 #define VMX_VMCS_RO_VM_INSTR_ERROR                              0x4400
    889 #define VMX_VMCS_RO_EXIT_REASON                                 0x4402
    890 #define VMX_VMCS_RO_EXIT_INTERRUPTION_INFO                      0x4404
    891 #define VMX_VMCS_RO_EXIT_INTERRUPTION_ERRCODE                   0x4406
    892 #define VMX_VMCS_RO_IDT_INFO                                    0x4408
    893 #define VMX_VMCS_RO_IDT_ERRCODE                                 0x440A
    894 #define VMX_VMCS_RO_EXIT_INSTR_LENGTH                           0x440C
    895 #define VMX_VMCS_RO_EXIT_INSTR_INFO                             0x440E
     888#define VMX_VMCS32_RO_VM_INSTR_ERROR                              0x4400
     889#define VMX_VMCS32_RO_EXIT_REASON                                 0x4402
     890#define VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO                      0x4404
     891#define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERRCODE                   0x4406
     892#define VMX_VMCS32_RO_IDT_INFO                                    0x4408
     893#define VMX_VMCS32_RO_IDT_ERRCODE                                 0x440A
     894#define VMX_VMCS32_RO_EXIT_INSTR_LENGTH                           0x440C
     895#define VMX_VMCS32_RO_EXIT_INSTR_INFO                             0x440E
    896896/** @} */
    897897
     
    15431543#if HC_ARCH_BITS == 64
    15441544    uint64_t uLastError = 0;
    1545     int rc = VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &uLastError);
     1545    int rc = VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &uLastError);
    15461546    AssertRC(rc);
    15471547    return (uint32_t)uLastError;
     
    15491549#else /* 32-bit host: */
    15501550    uint32_t uLastError = 0;
    1551     int rc = VMXReadVMCS32(VMX_VMCS_RO_VM_INSTR_ERROR, &uLastError);
     1551    int rc = VMXReadVMCS32(VMX_VMCS32_RO_VM_INSTR_ERROR, &uLastError);
    15521552    AssertRC(rc);
    15531553    return uLastError;
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r14530 r14580  
    22662266}
    22672267
    2268 #ifdef HC_ARCH_BITS == 32
     2268#if HC_ARCH_BITS == 32
    22692269/**
    22702270 * Prepares for and executes VMRUN (64 bits guests from a 32 bits hosts).
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r14530 r14580  
    6666        RTCCUINTREG instrError;
    6767
    68         VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &instrError);
     68        VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError);
    6969        pVCpu->hwaccm.s.vmx.lasterror.ulInstrError = instrError;
    7070    }
     
    19931993
    19941994    /* Investigate why there was a VM-exit. */
    1995     rc  = VMXReadVMCS(VMX_VMCS_RO_EXIT_REASON, &exitReason);
     1995    rc  = VMXReadVMCS(VMX_VMCS32_RO_EXIT_REASON, &exitReason);
    19961996    STAM_COUNTER_INC(&pVCpu->hwaccm.s.paStatExitReasonR0[exitReason & MASK_EXITREASON_STAT]);
    19971997
    19981998    exitReason &= 0xffff;   /* bit 0-15 contain the exit code. */
    1999     rc |= VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &instrError);
    2000     rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_INSTR_LENGTH, &cbInstr);
    2001     rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_INTERRUPTION_INFO, &val);
     1999    rc |= VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError);
     2000    rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INSTR_LENGTH, &cbInstr);
     2001    rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO, &val);
    20022002    intInfo   = val;
    2003     rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_INTERRUPTION_ERRCODE, &val);
     2003    rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INTERRUPTION_ERRCODE, &val);
    20042004    errCode   = val;    /* might not be valid; depends on VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID. */
    2005     rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_INSTR_INFO, &val);
     2005    rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INSTR_INFO, &val);
    20062006    instrInfo = val;
    20072007    rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_QUALIFICATION, &val);
     
    20172017
    20182018    /* Check if an injected event was interrupted prematurely. */
    2019     rc = VMXReadVMCS(VMX_VMCS_RO_IDT_INFO,            &val);
     2019    rc = VMXReadVMCS(VMX_VMCS32_RO_IDT_INFO,            &val);
    20202020    AssertRC(rc);
    20212021    pVCpu->hwaccm.s.Event.intInfo = VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(val);
     
    20302030        if (VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(pVCpu->hwaccm.s.Event.intInfo))
    20312031        {
    2032             rc = VMXReadVMCS(VMX_VMCS_RO_IDT_ERRCODE, &val);
     2032            rc = VMXReadVMCS(VMX_VMCS32_RO_IDT_ERRCODE, &val);
    20332033            AssertRC(rc);
    20342034            pVCpu->hwaccm.s.Event.errCode  = val;
     
    32153215        RTCCUINTREG exitReason, instrError, val;
    32163216
    3217         rc  = VMXReadVMCS(VMX_VMCS_RO_EXIT_REASON, &exitReason);
    3218         rc |= VMXReadVMCS(VMX_VMCS_RO_VM_INSTR_ERROR, &instrError);
     3217        rc  = VMXReadVMCS(VMX_VMCS32_RO_EXIT_REASON, &exitReason);
     3218        rc |= VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError);
    32193219        AssertRC(rc);
    32203220        if (rc == VINF_SUCCESS)
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