VirtualBox

Changeset 109009 in vbox for trunk/include


Ignore:
Timestamp:
Apr 17, 2025 7:10:53 AM (2 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168537
Message:

VMM/GIC: bugref:10877 GIC ITS, work-in-progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/gic-its.h

    r109000 r109009  
    360360#define GITS_TRANSLATION_REG_TRANSLATER                         0x0040
    361361
    362 /** GITS Two-level (indirect) table entry. */
    363 #define GITS_BF_ITE_LVL2_RSVD_11_0_SHIFT                        0
    364 #define GITS_BF_ITE_LVL2_RSVD_11_0_MASK                         UINT64_C(0x0000000000000fff)
    365 #define GITS_BF_ITE_LVL2_PHYS_ADDR_SHIFT                        12
    366 #define GITS_BF_ITE_LVL2_PHYS_ADDR_MASK                         UINT64_C(0x000ffffffffff000)
    367 #define GITS_BF_ITE_LVL2_RSVD_62_52_SHIFT                       52
    368 #define GITS_BF_ITE_LVL2_RSVD_62_52_MASK                        UINT64_C(0x7ff0000000000000)
    369 #define GITS_BF_ITE_LVL2_VALID_SHIFT                            63
    370 #define GITS_BF_ITE_LVL2_VALID_MASK                             UINT64_C(0x8000000000000000)
    371 RT_BF_ASSERT_COMPILE_CHECKS(GITS_BF_ITE_LVL2_, UINT64_C(0), UINT64_MAX,
     362/** GITS indirect table level-1 entry (4K page size). */
     363#define GITS_BF_ITE_INDIRECT_LVL1_4K_RSVD_11_0_SHIFT            0
     364#define GITS_BF_ITE_INDIRECT_LVL1_4K_RSVD_11_0_MASK             UINT64_C(0x0000000000000fff)
     365#define GITS_BF_ITE_INDIRECT_LVL1_4K_PHYS_ADDR_SHIFT            12
     366#define GITS_BF_ITE_INDIRECT_LVL1_4K_PHYS_ADDR_MASK             UINT64_C(0x000ffffffffff000)
     367#define GITS_BF_ITE_INDIRECT_LVL1_4K_RSVD_62_52_SHIFT           52
     368#define GITS_BF_ITE_INDIRECT_LVL1_4K_RSVD_62_52_MASK            UINT64_C(0x7ff0000000000000)
     369#define GITS_BF_ITE_INDIRECT_LVL1_4K_VALID_SHIFT                63
     370#define GITS_BF_ITE_INDIRECT_LVL1_4K_VALID_MASK                 UINT64_C(0x8000000000000000)
     371RT_BF_ASSERT_COMPILE_CHECKS(GITS_BF_ITE_INDIRECT_LVL1_4K_, UINT64_C(0), UINT64_MAX,
    372372                            (RSVD_11_0, PHYS_ADDR, RSVD_62_52, VALID));
     373
     374/** GITS indirect table level-1 entry (16K page size). */
     375#define GITS_BF_ITE_INDIRECT_LVL1_16K_RSVD_14_0_SHIFT           0
     376#define GITS_BF_ITE_INDIRECT_LVL1_16K_RSVD_14_0_MASK            UINT64_C(0x0000000000003fff)
     377#define GITS_BF_ITE_INDIRECT_LVL1_16K_PHYS_ADDR_SHIFT           14
     378#define GITS_BF_ITE_INDIRECT_LVL1_16K_PHYS_ADDR_MASK            UINT64_C(0x000fffffffffc000)
     379#define GITS_BF_ITE_INDIRECT_LVL1_16K_RSVD_62_52_SHIFT          52
     380#define GITS_BF_ITE_INDIRECT_LVL1_16K_RSVD_62_52_MASK           UINT64_C(0x7ff0000000000000)
     381#define GITS_BF_ITE_INDIRECT_LVL1_16K_VALID_SHIFT               63
     382#define GITS_BF_ITE_INDIRECT_LVL1_16K_VALID_MASK                UINT64_C(0x8000000000000000)
     383RT_BF_ASSERT_COMPILE_CHECKS(GITS_BF_ITE_INDIRECT_LVL1_16K_, UINT64_C(0), UINT64_MAX,
     384                            (RSVD_14_0, PHYS_ADDR, RSVD_62_52, VALID));
     385
     386/** GITS indirect table level-1 entry (64K page size). */
     387#define GITS_BF_ITE_INDIRECT_LVL1_64K_RSVD_15_0_SHIFT           0
     388#define GITS_BF_ITE_INDIRECT_LVL1_64K_RSVD_15_0_MASK            UINT64_C(0x000000000000ffff)
     389#define GITS_BF_ITE_INDIRECT_LVL1_64K_PHYS_ADDR_SHIFT           16
     390#define GITS_BF_ITE_INDIRECT_LVL1_64K_PHYS_ADDR_MASK            UINT64_C(0x000fffffffff0000)
     391#define GITS_BF_ITE_INDIRECT_LVL1_64K_RSVD_62_52_SHIFT          52
     392#define GITS_BF_ITE_INDIRECT_LVL1_64K_RSVD_62_52_MASK           UINT64_C(0x7ff0000000000000)
     393#define GITS_BF_ITE_INDIRECT_LVL1_64K_VALID_SHIFT               63
     394#define GITS_BF_ITE_INDIRECT_LVL1_64K_VALID_MASK                UINT64_C(0x8000000000000000)
     395RT_BF_ASSERT_COMPILE_CHECKS(GITS_BF_ITE_INDIRECT_LVL1_64K_, UINT64_C(0), UINT64_MAX,
     396                            (RSVD_15_0, PHYS_ADDR, RSVD_62_52, VALID));
     397
    373398
    374399/**
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