VirtualBox

Changeset 14649 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Nov 26, 2008 3:01:53 PM (16 years ago)
Author:
vboxsync
Message:

Backed out 39954

File:
1 edited

Legend:

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

    r14648 r14649  
    983983 * @{
    984984 */
    985 #define VMX_VMCS64_CTRL_CR0_MASK                                  0x6000
    986 #define VMX_VMCS64_CTRL_CR4_MASK                                  0x6002
    987 #define VMX_VMCS64_CTRL_CR0_READ_SHADOW                           0x6004
    988 #define VMX_VMCS64_CTRL_CR4_READ_SHADOW                           0x6006
    989 #define VMX_VMCS64_CTRL_CR3_TARGET_VAL0                           0x6008
    990 #define VMX_VMCS64_CTRL_CR3_TARGET_VAL1                           0x600A
    991 #define VMX_VMCS64_CTRL_CR3_TARGET_VAL2                           0x600C
    992 #define VMX_VMCS64_CTRL_CR3_TARGET_VAL31                          0x600E
     985#define VMX_VMCS_CTRL_CR0_MASK                                  0x6000
     986#define VMX_VMCS_CTRL_CR4_MASK                                  0x6002
     987#define VMX_VMCS_CTRL_CR0_READ_SHADOW                           0x6004
     988#define VMX_VMCS_CTRL_CR4_READ_SHADOW                           0x6006
     989#define VMX_VMCS_CTRL_CR3_TARGET_VAL0                           0x6008
     990#define VMX_VMCS_CTRL_CR3_TARGET_VAL1                           0x600A
     991#define VMX_VMCS_CTRL_CR3_TARGET_VAL2                           0x600C
     992#define VMX_VMCS_CTRL_CR3_TARGET_VAL31                          0x600E
    993993/** @} */
    994994
     
    997997 * @{
    998998 */
    999 #define VMX_VMCS64_RO_EXIT_QUALIFICATION                          0x6400
    1000 #define VMX_VMCS64_RO_IO_RCX                                      0x6402
    1001 #define VMX_VMCS64_RO_IO_RSX                                      0x6404
    1002 #define VMX_VMCS64_RO_IO_RDI                                      0x6406
    1003 #define VMX_VMCS64_RO_IO_RIP                                      0x6408
    1004 #define VMX_VMCS64_EXIT_GUEST_LINEAR_ADDR                         0x640A
     999#define VMX_VMCS_RO_EXIT_QUALIFICATION                          0x6400
     1000#define VMX_VMCS_RO_IO_RCX                                      0x6402
     1001#define VMX_VMCS_RO_IO_RSX                                      0x6404
     1002#define VMX_VMCS_RO_IO_RDI                                      0x6406
     1003#define VMX_VMCS_RO_IO_RIP                                      0x6408
     1004#define VMX_VMCS_EXIT_GUEST_LINEAR_ADDR                         0x640A
    10051005/** @} */
    10061006
     
    11241124 * @{
    11251125 */
    1126 #define VMX_VMCS64_GUEST_CR0                                    0x6800
    1127 #define VMX_VMCS64_GUEST_CR3                                    0x6802
    1128 #define VMX_VMCS64_GUEST_CR4                                    0x6804
    1129 #define VMX_VMCS64_GUEST_ES_BASE                                0x6806
    1130 #define VMX_VMCS64_GUEST_CS_BASE                                0x6808
    1131 #define VMX_VMCS64_GUEST_SS_BASE                                0x680A
    1132 #define VMX_VMCS64_GUEST_DS_BASE                                0x680C
    1133 #define VMX_VMCS64_GUEST_FS_BASE                                0x680E
    1134 #define VMX_VMCS64_GUEST_GS_BASE                                0x6810
    1135 #define VMX_VMCS64_GUEST_LDTR_BASE                              0x6812
    1136 #define VMX_VMCS64_GUEST_TR_BASE                                0x6814
    1137 #define VMX_VMCS64_GUEST_GDTR_BASE                              0x6816
    1138 #define VMX_VMCS64_GUEST_IDTR_BASE                              0x6818
    1139 #define VMX_VMCS64_GUEST_DR7                                    0x681A
    1140 #define VMX_VMCS64_GUEST_RSP                                    0x681C
    1141 #define VMX_VMCS64_GUEST_RIP                                    0x681E
    1142 #define VMX_VMCS64_GUEST_RFLAGS                                 0x6820
    1143 #define VMX_VMCS64_GUEST_DEBUG_EXCEPTIONS                       0x6822
    1144 #define VMX_VMCS64_GUEST_SYSENTER_ESP                           0x6824  /**< MSR IA32_SYSENTER_ESP */
    1145 #define VMX_VMCS64_GUEST_SYSENTER_EIP                           0x6826  /**< MSR IA32_SYSENTER_EIP */
     1126#define VMX_VMCS_GUEST_CR0                                      0x6800
     1127#define VMX_VMCS_GUEST_CR3                                      0x6802
     1128#define VMX_VMCS_GUEST_CR4                                      0x6804
     1129#define VMX_VMCS_GUEST_ES_BASE                                  0x6806
     1130#define VMX_VMCS_GUEST_CS_BASE                                  0x6808
     1131#define VMX_VMCS_GUEST_SS_BASE                                  0x680A
     1132#define VMX_VMCS_GUEST_DS_BASE                                  0x680C
     1133#define VMX_VMCS_GUEST_FS_BASE                                  0x680E
     1134#define VMX_VMCS_GUEST_GS_BASE                                  0x6810
     1135#define VMX_VMCS_GUEST_LDTR_BASE                                0x6812
     1136#define VMX_VMCS_GUEST_TR_BASE                                  0x6814
     1137#define VMX_VMCS_GUEST_GDTR_BASE                                0x6816
     1138#define VMX_VMCS_GUEST_IDTR_BASE                                0x6818
     1139#define VMX_VMCS_GUEST_DR7                                      0x681A
     1140#define VMX_VMCS_GUEST_RSP                                      0x681C
     1141#define VMX_VMCS_GUEST_RIP                                      0x681E
     1142#define VMX_VMCS_GUEST_RFLAGS                                   0x6820
     1143#define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS                         0x6822
     1144#define VMX_VMCS_GUEST_SYSENTER_ESP                             0x6824  /**< MSR IA32_SYSENTER_ESP */
     1145#define VMX_VMCS_GUEST_SYSENTER_EIP                             0x6826  /**< MSR IA32_SYSENTER_EIP */
    11461146/** @} */
    11471147
     
    13851385 * @returns VBox status code
    13861386 * @param   idxField        VMCS index
     1387 * @param   u64Val          16, 32 or 64 bits value
     1388 */
     1389DECLASM(int) VMXWriteVMCS64(uint32_t idxField, uint64_t u64Val);
     1390
     1391/**
     1392 * Executes VMWRITE
     1393 *
     1394 * @returns VBox status code
     1395 * @param   idxField        VMCS index
    13871396 * @param   u32Val          32 bits value
    13881397 */
     
    14321441#endif
    14331442
    1434 /**
    1435  * Executes VMWRITE
    1436  *
    1437  * @returns VBox status code
    1438  * @param   idxField        VMCS index
    1439  * @param   u64Val          16, 32 or 64 bits value
    1440  */
    1441 #if HC_ARCH_BITS == 64
    1442 DECLASM(int) VMXWriteVMCS64(uint32_t idxField, uint64_t u64Val);
    1443 #else
    1444 DECLINLINE(int) VMXWriteVMCS64(uint32_t idxField, uint64_t u64Val)
    1445 {
    1446     int rc;
    1447 
    1448     rc  = VMXWriteVMCS32(idxField, u64Val);
    1449     rc |= VMXWriteVMCS32(idxField + 1, (uint32_t)(u64Val >> 32ULL));
    1450     AssertRC(rc);
    1451     return rc;
    1452 }
    1453 #endif
    1454 
    14551443#if HC_ARCH_BITS == 64
    14561444#define VMXWriteVMCS VMXWriteVMCS64
     
    14591447#endif /* HC_ARCH_BITS == 64 */
    14601448
     1449
     1450/**
     1451 * Executes VMREAD
     1452 *
     1453 * @returns VBox status code
     1454 * @param   idxField        VMCS index
     1455 * @param   pData           Ptr to store VM field value
     1456 */
     1457DECLASM(int) VMXReadVMCS64(uint32_t idxField, uint64_t *pData);
    14611458
    14621459/**
     
    15321529
    15331530#if HC_ARCH_BITS == 64
    1534 /**
    1535  * Executes VMREAD
    1536  *
    1537  * @returns VBox status code
    1538  * @param   idxField        VMCS index
    1539  * @param   pData           Ptr to store VM field value
    1540  */
    1541 DECLASM(int) VMXReadVMCS64(uint32_t idxField, uint64_t *pData);
    1542 #else
    1543 DECLINLINE(int) VMXReadVMCS64(uint32_t idxField, uint64_t *pData)
    1544 {
    1545     int rc;
    1546 
    1547     uint32_t val_hi, val;
    1548     rc  = VMXReadVMCS32(idxField, &val);
    1549     rc |= VMXReadVMCS32(idxField + 1, &val_hi);
    1550     AssertRC(rc);
    1551     *pData = RT_MAKE_U64(val, val_hi);
    1552     return rc;
    1553 }
    1554 #endif
    1555 
    1556 #if HC_ARCH_BITS == 64
    15571531# define VMXReadVMCS VMXReadVMCS64
    15581532#else
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