VirtualBox

Changeset 108923 in vbox for trunk/include


Ignore:
Timestamp:
Apr 9, 2025 6:55:17 PM (4 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168427
Message:

VMM/PGMAllGst-armv8.cpp.h: More work on supporting different granule sizes, and support checking permissions and getting at the effective attributes for the GstQueryPageFast() callback, bugref:10388

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/armv8.h

    r108920 r108923  
    29702970#define ARMV8_VMSA64_DESC_F_TBL_OR_PG_BIT                       1
    29712971
     2972/** @name Upper Attributes for block or page descriptors.
     2973 * @{ */
     2974/** Bit 54 - Execute never (XN) when only a single privilege level is supported by the translation regime. */
     2975#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_1PRIV_XN_BIT            54
     2976#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_1PRIV_XN                RT_BIT_64(ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_1PRIV_XN_BIT)
     2977/** Bit 54 - Unprivileged execute never (UXN) when the translation regime supports two privilege levels. */
     2978#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_UXN_BIT           54
     2979#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_UXN               RT_BIT_64(ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_UXN_BIT)
     2980/** Bit 54 - Privileged execute never (PXN) when the EL1&0 translation regime is active and HCR_EL2.{NV,NV1} is {1, 1}. */
     2981#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_EL10_2PRIV_PXN_BIT      54
     2982#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_EL10_2PRIV_PXN          RT_BIT_64(ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_EL10_2PRIV_PXN_BIT)
     2983/** Bit 53 - Privileged execute neveer (PXN) when the translation regime supports two privilege levels. */
     2984#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_PXN_BIT           53
     2985#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_PXN               RT_BIT_64(ARMV8_VMSA64_DESC_PG_OR_BLOCK_UATTR_2PRIV_PXN_BIT)
     2986/** @} */
     2987
     2988/** @name Lower Attributes for block or page descriptors.
     2989 * @{ */
     2990/** Bit 10 - Access flag (AF). */
     2991#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AF_BIT                  10
     2992#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AF                      RT_BIT_64(ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AF_BIT)
     2993/** Bit 6 - 7 Access permissions (AP) (when indirect permissions are disables and stage1 translation supports two exception levels). */
     2994#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_MASK                 (RT_BIT_64(7) | RT_BIT_64(6))
     2995#define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_SHIFT                6
     2996/** Privileged Read and Write (PrivRead, PrivWrite). */
     2997# define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_PRIV_RW             0
     2998/** Unprivileged Read and Write (PrivRead, PrivWrite, UnprivRead, UnprivWrite). */
     2999# define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_PRIV_RW_UNPRIV_RW   1
     3000/** Privileged Read (PrivRead) */
     3001# define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_PRIV_R              2
     3002/** Privileged and Unprivileged Read (PrivRead, UnprivRead) */
     3003# define ARMV8_VMSA64_DESC_PG_OR_BLOCK_LATTR_AP_PRIV_R_UNPRIV_R     3
     3004/** @} */
     3005
    29723006/** @} */
    29733007
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