Changeset 99051 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Mar 19, 2023 4:40:06 PM (22 months ago)
- Location:
- trunk/src/VBox/VMM/include
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/EMHandleRCTmpl.h
r98103 r99051 113 113 break; 114 114 115 #if !defined(VBOX_VMM_TARGET_ARMV8) 115 116 /* 116 117 * Execute pending I/O Port access. … … 122 123 rc = VBOXSTRICTRC_TODO(emR3ExecutePendingIoPortRead(pVM, pVCpu)); 123 124 break; 125 #endif 124 126 125 127 /* … … 167 169 break; 168 170 171 #if !defined(VBOX_VMM_TARGET_ARMV8) 169 172 case VINF_EM_EMULATE_SPLIT_LOCK: 170 173 rc = VBOXSTRICTRC_TODO(emR3ExecuteSplitLockInstruction(pVM, pVCpu)); 171 174 break; 175 #endif 172 176 173 177 -
trunk/src/VBox/VMM/include/IOMInternal.h
r98103 r99051 574 574 575 575 #ifdef IN_RING3 576 # if !defined(VBOX_VMM_TARGET_ARMV8) 576 577 DECLCALLBACK(void) iomR3IoPortInfo(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs); 577 578 void iomR3IoPortRegStats(PVM pVM, PIOMIOPORTENTRYR3 pRegEntry); 579 # endif 578 580 DECLCALLBACK(void) iomR3MmioInfo(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs); 579 581 void iomR3MmioRegStats(PVM pVM, PIOMMMIOENTRYR3 pRegEntry); -
trunk/src/VBox/VMM/include/NEMInternal.h
r98103 r99051 42 42 #include <iprt/critsect.h> 43 43 #elif defined(RT_OS_DARWIN) 44 # include "VMXInternal.h" 44 # if defined(VBOX_VMM_TARGET_ARMV8) 45 # include <Hypervisor/Hypervisor.h> 46 # else 47 # include "VMXInternal.h" 48 # endif 45 49 #endif 46 50 … … 108 112 109 113 #ifdef RT_OS_DARWIN 114 # if !defined(VBOX_VMM_TARGET_ARMV8) 110 115 /** vCPU ID declaration to avoid dragging in HV headers here. */ 111 116 typedef unsigned hv_vcpuid_t; 112 117 /** The HV VM memory space ID (ASID). */ 113 118 typedef unsigned hv_vm_space_t; 119 # endif 114 120 115 121 … … 122 128 /** @} */ 123 129 130 # if defined(VBOX_VMM_TARGET_ARMV8) 124 131 /** The CPUMCTX_EXTRN_XXX mask for IEM. */ 125 # define NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM ( IEM_CPUMCTX_EXTRN_MUST_MASK | CPUMCTX_EXTRN_INHIBIT_INT \ 126 | CPUMCTX_EXTRN_INHIBIT_NMI ) 132 # define NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM ( IEM_CPUMCTX_EXTRN_MUST_MASK ) 133 # else 134 /** The CPUMCTX_EXTRN_XXX mask for IEM. */ 135 # define NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM ( IEM_CPUMCTX_EXTRN_MUST_MASK | CPUMCTX_EXTRN_INHIBIT_INT \ 136 | CPUMCTX_EXTRN_INHIBIT_NMI ) 137 #endif 138 127 139 /** The CPUMCTX_EXTRN_XXX mask for IEM when raising exceptions. */ 128 140 # define NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM_XCPT (IEM_CPUMCTX_EXTRN_XCPT_MASK | NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM) … … 274 286 /** Set if hv_vm_create() was called successfully. */ 275 287 bool fCreatedVm : 1; 288 # if defined(VBOX_VMM_TARGET_ARMV8) 289 /** @todo */ 290 # else 276 291 /** Set if hv_vm_space_create() was called successfully. */ 277 292 bool fCreatedAsid : 1; … … 310 325 /** The last valid host LBR info stack range. */ 311 326 uint32_t idLbrInfoMsrLast; 327 # endif 312 328 313 329 STAMCOUNTER StatMapPage; … … 460 476 461 477 #elif defined(RT_OS_DARWIN) 478 # if defined(VBOX_VMM_TARGET_ARMV8) 479 /** The vCPU handle associated with the EMT executing this vCPU. */ 480 hv_vcpu_t hVCpu; 481 /** Pointer to the exit information structure. */ 482 hv_vcpu_exit_t *pHvExit; 483 /** Flag whether an event is pending. */ 484 bool fEventPending; 485 # else 462 486 /** The vCPU handle associated with the EMT executing this vCPU. */ 463 487 hv_vcpuid_t hVCpuId; … … 530 554 /** Pointer to the VMX statistics. */ 531 555 PVMXSTATISTICS pVmxStats; 556 # endif 532 557 533 558 /** @name Statistics -
trunk/src/VBox/VMM/include/PGMInline.h
r98103 r99051 374 374 375 375 376 #ifndef VBOX_VMM_TARGET_ARMV8 376 377 /** 377 378 * Checks if the no-execute (NX) feature is active (EFER.NXE=1). … … 978 979 return NULL; 979 980 } 981 #endif /* !VBOX_VMM_TARGET_ARMV8 */ 980 982 981 983 -
trunk/src/VBox/VMM/include/PGMInternal.h
r98103 r99051 374 374 * @param GCVirt The virtual address of the page to invalidate. 375 375 */ 376 #if def IN_RING0377 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) HMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt))376 #if defined(VBOX_VMM_TARGET_ARMV8) 377 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) do { } while(0) 378 378 #else 379 379 # define PGM_INVL_PG_ALL_VCPU(pVM, GCVirt) HMInvalidatePageOnAllVCpus(pVM, (RTGCPTR)(GCVirt)) … … 386 386 * @param GCVirt The virtual address within the page directory to invalidate. 387 387 */ 388 #if def IN_RING0389 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) HMFlushTlb(pVCpu)388 #if defined(VBOX_VMM_TARGET_ARMV8) 389 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) do { } while(0) 390 390 #else 391 391 # define PGM_INVL_BIG_PG(pVCpu, GCVirt) HMFlushTlb(pVCpu) … … 397 397 * @param pVCpu The cross context virtual CPU structure. 398 398 */ 399 #if def IN_RING0400 # define PGM_INVL_VCPU_TLBS(pVCpu) HMFlushTlb(pVCpu)399 #if defined(VBOX_VMM_TARGET_ARMV8) 400 # define PGM_INVL_VCPU_TLBS(pVCpu) do { } while(0) 401 401 #else 402 402 # define PGM_INVL_VCPU_TLBS(pVCpu) HMFlushTlb(pVCpu) … … 408 408 * @param pVM The cross context VM structure. 409 409 */ 410 #if def IN_RING0411 # define PGM_INVL_ALL_VCPU_TLBS(pVM) HMFlushTlbOnAllVCpus(pVM)410 #if defined(VBOX_VMM_TARGET_ARMV8) 411 # define PGM_INVL_ALL_VCPU_TLBS(pVM) do { } while(0) 412 412 #else 413 413 # define PGM_INVL_ALL_VCPU_TLBS(pVM) HMFlushTlbOnAllVCpus(pVM)
Note:
See TracChangeset
for help on using the changeset viewer.