VirtualBox

Changeset 108826 in vbox for trunk/include


Ignore:
Timestamp:
Apr 2, 2025 9:12:22 AM (3 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168272
Message:

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

File:
1 edited

Legend:

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

    r108824 r108826  
    419419#define GIC_REDIST_REG_CTLR_OFF                         0x0000
    420420/** Bit 0 - Enable LPIs. */
    421 #define GIC_DIST_REG_CTLR_ENABLE_LPI_BIT                0
    422 #define GIC_DIST_REG_CTLR_ENABLE_LPI                    RT_BIT_32(0)
     421#define GIC_REDIST_REG_CTLR_ENABLE_LPI_BIT              0
     422#define GIC_REDIST_REG_CTLR_ENABLE_LPI                  RT_BIT_32(0)
    423423/** Bit 1 - Clear Enable Support. */
    424 #define GIC_DIST_REG_CTLR_CES_BIT                       1
    425 #define GIC_DIST_REG_CTLR_CES                           RT_BIT_32(1)
    426 #define GIC_REDIST_REG_CTLR_CES_SET(a_Ces)              (((a_Ces) << GIC_DIST_REG_CTLR_CES_BIT) & GIC_DIST_REG_CTLR_CES)
     424#define GIC_REDIST_REG_CTLR_CES_BIT                     1
     425#define GIC_REDIST_REG_CTLR_CES                         RT_BIT_32(1)
     426#define GIC_REDIST_REG_CTLR_CES_SET(a_Ces)              (((a_Ces) << GIC_REDIST_REG_CTLR_CES_BIT) & GIC_REDIST_REG_CTLR_CES)
    427427/** Bit 2 - LPI invalidate registers supported. */
    428 #define GIC_DIST_REG_CTLR_IR_BIT                        2
    429 #define GIC_DIST_REG_CTLR_IR                            RT_BIT_32(2)
     428#define GIC_REDIST_REG_CTLR_IR_BIT                      2
     429#define GIC_REDIST_REG_CTLR_IR                          RT_BIT_32(2)
    430430/** Bit 3 - Register Write Pending. */
    431 #define GIC_DIST_REG_CTLR_RWP_BIT                       3
    432 #define GIC_DIST_REG_CTLR_RWP                           RT_BIT_32(3)
     431#define GIC_REDIST_REG_CTLR_RWP_BIT                     3
     432#define GIC_REDIST_REG_CTLR_RWP                         RT_BIT_32(3)
    433433/** Bit 24 - Disable Processor selection for Group 0 interrupt. */
    434 #define GIC_DIST_REG_CTLR_DPG0_BIT                      24
    435 #define GIC_DIST_REG_CTLR_DPG0                          RT_BIT_32(24)
     434#define GIC_REDIST_REG_CTLR_DPG0_BIT                    24
     435#define GIC_REDIST_REG_CTLR_DPG0                        RT_BIT_32(24)
    436436/** Bit 25 - Disable Processor selection for Group 1 non-secure interrupt. */
    437 #define GIC_DIST_REG_CTLR_DPG1NS_BIT                    25
    438 #define GIC_DIST_REG_CTLR_DPG1NS                        RT_BIT_32(25)
     437#define GIC_REDIST_REG_CTLR_DPG1NS_BIT                  25
     438#define GIC_REDIST_REG_CTLR_DPG1NS                      RT_BIT_32(25)
    439439/** Bit 26 - Disable Processor selection for Group 1 secure interrupt. */
    440 #define GIC_DIST_REG_CTLR_DPG1S_BIT                     26
    441 #define GIC_DIST_REG_CTLR_DPG1S                         RT_BIT_32(26)
     440#define GIC_REDIST_REG_CTLR_DPG1S_BIT                   26
     441#define GIC_REDIST_REG_CTLR_DPG1S                       RT_BIT_32(26)
    442442/** Bit 31 - Upstream Write Pending. */
    443 #define GIC_DIST_REG_CTLR_UWP_BIT                       31
    444 #define GIC_DIST_REG_CTLR_UWP                           RT_BIT_32(31)
     443#define GIC_REDIST_REG_CTLR_UWP_BIT                     31
     444#define GIC_REDIST_REG_CTLR_UWP                         RT_BIT_32(31)
    445445
    446446/** Implementer Identification Register - RO. */
     
    555555/** Redistributor LPI Pending Table Base Address Register - RW. */
    556556#define GIC_REDIST_REG_PENDBASER_OFF                    0x0078
     557#define GIC_BF_REDIST_REG_PENDBASER_RSVD_6_0_SHIFT      0
     558#define GIC_BF_REDIST_REG_PENDBASER_RSVD_6_0_MASK       UINT64_C(0x000000000000007f)
     559#define GIC_BF_REDIST_REG_PENDBASER_INNER_CACHE_SHIFT   7
     560#define GIC_BF_REDIST_REG_PENDBASER_INNER_CACHE_MASK    UINT64_C(0x0000000000000380)
     561#define GIC_BF_REDIST_REG_PENDBASER_SHAREABILITY_SHIFT  10
     562#define GIC_BF_REDIST_REG_PENDBASER_SHAREABILITY_MASK   UINT64_C(0x0000000000000c00)
     563#define GIC_BF_REDIST_REG_PENDBASER_RSVD_15_12_SHIFT    12
     564#define GIC_BF_REDIST_REG_PENDBASER_RSVD_15_12_MASK     UINT64_C(0x000000000000f000)
     565#define GIC_BF_REDIST_REG_PENDBASER_PHYS_ADDR_SHIFT     16
     566#define GIC_BF_REDIST_REG_PENDBASER_PHYS_ADDR_MASK      UINT64_C(0x000fffffffff0000)
     567#define GIC_BF_REDIST_REG_PENDBASER_RSVD_55_52_SHIFT    52
     568#define GIC_BF_REDIST_REG_PENDBASER_RSVD_55_52_MASK     UINT64_C(0x00f0000000000000)
     569#define GIC_BF_REDIST_REG_PENDBASER_OUTER_CACHE_SHIFT   56
     570#define GIC_BF_REDIST_REG_PENDBASER_OUTER_CACHE_MASK    UINT64_C(0x0700000000000000)
     571#define GIC_BF_REDIST_REG_PENDBASER_RSVD_61_59_SHIFT    59
     572#define GIC_BF_REDIST_REG_PENDBASER_RSVD_61_59_MASK     UINT64_C(0x3800000000000000)
     573#define GIC_BF_REDIST_REG_PENDBASER_PTZ_SHIFT           62
     574#define GIC_BF_REDIST_REG_PENDBASER_PTZ_MASK            UINT64_C(0x4000000000000000)
     575#define GIC_BF_REDIST_REG_PENDBASER_RSVD_63_SHIFT       63
     576#define GIC_BF_REDIST_REG_PENDBASER_RSVD_63_MASK        UINT64_C(0x8000000000000000)
     577RT_BF_ASSERT_COMPILE_CHECKS(GIC_BF_REDIST_REG_PENDBASER_, UINT64_C(0), UINT64_MAX,
     578                            (RSVD_6_0, INNER_CACHE, SHAREABILITY, RSVD_15_12, PHYS_ADDR, RSVD_55_52, OUTER_CACHE, RSVD_61_59,
     579                             PTZ, RSVD_63));
     580#define GIC_REDIST_REG_PENDBASER_RW_MASK                (UINT64_MAX & ~(  GIC_BF_REDIST_REG_PENDBASER_RSVD_6_0_MASK   \
     581                                                                        | GIC_BF_REDIST_REG_PENDBASER_RSVD_15_12_MASK \
     582                                                                        | GIC_BF_REDIST_REG_PENDBASER_RSVD_55_52_MASK \
     583                                                                        | GIC_BF_REDIST_REG_PENDBASER_RSVD_61_59_MASK \
     584                                                                        | GIC_BF_REDIST_REG_PENDBASER_RSVD_63_MASK))
     585
    557586/** Redistributor Invalidate LPI Register - WO. */
    558587#define GIC_REDIST_REG_INVLPIR_OFF                      0x00a0
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