Changeset 80323 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Aug 16, 2019 9:29:20 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/vmapi.h
r80319 r80323 57 57 58 58 59 /** @def VM_RC_ADDR 60 * Converts a current context address of data within the VM structure to the equivalent 61 * raw-mode address. 62 * 63 * @returns raw-mode virtual address. 64 * @param pVM The cross context VM structure. 65 * @param pvInVM CC Pointer within the VM. 66 */ 67 #ifdef IN_RING3 68 # define VM_RC_ADDR(pVM, pvInVM) ( (RTRCPTR)((RTRCUINTPTR)pVM->pVMRC + (uint32_t)((uintptr_t)(pvInVM) - (uintptr_t)pVM->pVMR3)) ) 69 #elif defined(IN_RING0) 70 # define VM_RC_ADDR(pVM, pvInVM) ( (RTRCPTR)((RTRCUINTPTR)pVM->pVMRC + (uint32_t)((uintptr_t)(pvInVM) - (uintptr_t)pVM->pVMR0)) ) 71 #else 72 # define VM_RC_ADDR(pVM, pvInVM) ( (RTRCPTR)(pvInVM) ) 73 #endif 74 75 /** @def VM_R3_ADDR 76 * Converts a current context address of data within the VM structure to the equivalent 77 * ring-3 host address. 78 * 79 * @returns host virtual address. 80 * @param pVM The cross context VM structure. 81 * @param pvInVM CC pointer within the VM. 82 */ 83 #ifdef IN_RC 84 # define VM_R3_ADDR(pVM, pvInVM) ( (RTR3PTR)((RTR3UINTPTR)pVM->pVMR3 + (uint32_t)((uintptr_t)(pvInVM) - (uintptr_t)pVM->pVMRC)) ) 85 #elif defined(IN_RING0) 86 # define VM_R3_ADDR(pVM, pvInVM) ( (RTR3PTR)((RTR3UINTPTR)pVM->pVMR3 + (uint32_t)((uintptr_t)(pvInVM) - (uintptr_t)pVM->pVMR0)) ) 87 #else 88 # define VM_R3_ADDR(pVM, pvInVM) ( (RTR3PTR)(pvInVM) ) 89 #endif 90 91 92 #if 0 59 #ifndef VBOX_BUGREF_9217 93 60 /** @def VM_R0_ADDR 94 61 * Converts a current context address of data within the VM structure to the equivalent
Note:
See TracChangeset
for help on using the changeset viewer.