VirtualBox

Changeset 45741 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Apr 25, 2013 8:09:35 PM (12 years ago)
Author:
vboxsync
Message:

#undef VBOX_WITH_RAW_MODE fix on 32-bit hosts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/PGMInternal.h

    r45739 r45741  
    5656
    5757/**
    58  * Indicates that there are no guest mappings to care about.
    59  * Currently on raw-mode related code uses mappings, i.e. RC and R3 code.
    60  */
    61 #if defined(IN_RING0) || !defined(VBOX_WITH_RAW_MODE)
     58 * Indicates that there are no guest mappings in the shadow tables.
     59 *
     60 * Note! In ring-3 the macro is also used to exclude the managment of the
     61 * intermediate context page tables.  On 32-bit systems we use the intermediate
     62 * context to support 64-bit guest execution.  Thus, we cannot fully make it
     63 * without mappings there even when VBOX_WITH_RAW_MODE is not defined.
     64 *
     65 * In raw-mode context there are by design always guest mappings (the code is
     66 * executed from one), while in ring-0 there are none at all.  Neither context
     67 * manages the page tables for intermediate switcher context, that's all done in
     68 * ring-3.
     69 *
     70 * On 32-bit darwin (hybrid kernel) we do 64-bit guest support differently, so
     71 * there we can safely work without mappings if we don't compile in raw-mode.
     72 */
     73#if defined(IN_RING0) \
     74  || (   !defined(VBOX_WITH_RAW_MODE) \
     75      && (   HC_ARCH_BITS != 32 \
     76          || defined(VBOX_WITH_HYBRID_32BIT_KERNEL) \
     77          || !defined(VBOX_WITH_64_BITS_GUESTS) \
     78         ) \
     79     )
    6280# define PGM_WITHOUT_MAPPINGS
    6381#endif
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