VirtualBox

Changeset 14580

Show
Ignore:
Timestamp:
11/25/08 17:03:04 (1 month ago)
Author:
vboxsync
Message:

Some updates

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 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) 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy