VirtualBox

Changeset 108968 in vbox for trunk/include/VBox/vmm/vm.h


Ignore:
Timestamp:
Apr 14, 2025 8:45:36 PM (7 days ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168488
Message:

VMM,Main,Devices: Respect VBOX_VMM_TARGET_ARMV8 correctly on amd64 hosts (for IEM debugging purposes). jiraref:VBP-1598

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/vm.h

    r108708 r108968  
    12521252                                     | VM_STRUCT_VERSION_F_29 \
    12531253                                     | VM_STRUCT_VERSION_F_28 )
    1254 #endif
    1255 
    1256 
     1254
     1255# if (defined(RT_ARCH_AMD64) && defined(VBOX_WITH_VIRT_ARMV8) && defined(IN_RING0)) || defined(DOXYGEN_RUNNING)
     1256/** @def VM_STRUCT_VERSION_NON_NATIVE_TARGETS
     1257 * The current VM structure version for the other architecture (hack).
     1258 *
     1259 * Currently the VBoxVMMArm.dll/so/dylib on x86 differs from VM_STRUCT_VERSION
     1260 * in that it will have VBOX_WITH_ONLY_PGM_NEM_MODE & VBOX_WITH_MINIMAL_R0
     1261 * defined but not VBOX_WITH_HWVIRT.  This is to get the stuff off the ground
     1262 * quickly by emulating how it's built on win.arm64 hosts. */
     1263#  define VM_STRUCT_VERSION_NON_NATIVE_TARGETS \
     1264        (  (  VM_STRUCT_VERSION \
     1265            | RT_BIT_32(31) /*VBOX_WITH_MINIMAL_R0*/ \
     1266            | RT_BIT_32(30) /*VBOX_WITH_ONLY_PGM_NEM_MODE*/ ) \
     1267         & ~RT_BIT_32(28) /*VBOX_WITH_HWVIRT*/ )
     1268# endif
     1269
     1270/** @def VM_IS_NON_NATIVE_WITH_LIMITED_R0
     1271 * Whether the is a non-default targeted VM and should have the limited ring-0
     1272 * presence hack applied.
     1273 *
     1274 * This is typically used in ring-0 code to skip VM init and termination code.
     1275 *
     1276 * @param g_GVM  The ring-0 VM structure. */
     1277# ifdef VM_STRUCT_VERSION_NON_NATIVE_TARGETS
     1278#  define VM_IS_NON_NATIVE_WITH_LIMITED_R0(g_GVM)   (pGVM->enmTarget != VMTARGET_NATIVE)
     1279# else
     1280#  define VM_IS_NON_NATIVE_WITH_LIMITED_R0(g_GVM)   (false)
     1281# endif
     1282
     1283#endif
    12571284#endif /* !VBOX_FOR_DTRACE_LIB */
    12581285
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette