VirtualBox

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


Ignore:
Timestamp:
Mar 4, 2025 8:15:22 PM (2 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167817
Message:

VMM/GIC: bugref:10404 Fixes to the interrupt priority logic which fixes hang during arm64 Windows 11 guest boot.
Other minor cleanups.

File:
1 edited

Legend:

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

    r108439 r108443  
    6868#endif
    6969
     70#if 0
    7071/** Maximum number of SPI interrupts. */
    7172#define GIC_SPI_MAX                         32
    72 
     73#endif
     74
     75#if 0
    7376/** @def GIC_CACHE_LINE_SIZE
    7477 * Padding (in bytes) for aligning data in different cache lines. The ARMv8 cache
     
    7982#define GIC_CACHE_LINE_SIZE                64
    8083
    81 #if 1
    8284/**
    8385 * GIC Interrupt-Delivery Bitmap (IDB).
     
    107109    IOMMMIOHANDLE               hMmioReDist;
    108110
    109     /** @name Distributor register state for SPIs and extended SPIs.
     111    /** @name Distributor register state.
    110112     * @{
    111113     */
     
    129131
    130132    /** Flag whether group 0 interrupts are enabled. */
    131     bool                        fIrqGrp0Enabled;
     133    bool                        fIntrGroup0Enabled;
    132134    /** Flag whether group 1 interrupts are enabled. */
    133     bool                        fIrqGrp1Enabled;
     135    bool                        fIntrGroup1Enabled;
    134136    /** Flag whether affinity routing is enabled. */
    135137    bool                        fAffRoutingEnabled;
    136     /** Padding. */
    137     bool                        afPadding;
     138    /** Alignment. */
     139    bool                        fAlignment0;
    138140    /** @} */
    139141#else
     
    180182    /** Whether range-selector is supported (GICD_TYPER.RSS and ICC_CTLR_EL1.RSS). */
    181183    bool                        fRangeSelSupport;
     184    /** Alignment. */
     185    bool                        afAlignment0[3];
    182186    /** @} */
    183187} GICDEV;
     
    258262    /** The current interrupt priority, only interrupts with a higher priority get signalled. */
    259263    uint8_t                     bInterruptPriority;
    260     /** The interrupt controller Binary Point Register for Group 0 interrupts. */
     264    /** The binary point register for group 0 interrupts. */
    261265    uint8_t                     bBinaryPointGrp0;
    262     /** The interrupt controller Binary Point Register for Group 1 interrupts. */
     266    /** The binary point register for group 1 interrupts. */
    263267    uint8_t                     bBinaryPointGrp1;
    264     /** Flag whether group 0 interrupts are currently enabled. */
    265     bool                        fIrqGrp0Enabled;
    266     /** Flag whether group 1 interrupts are currently enabled. */
    267     bool                        fIrqGrp1Enabled;
     268    /** Flag whether group 0 interrupts are enabled. */
     269    bool                        fIntrGroup0Enabled;
     270    /** Flag whether group 1 interrupts are enabled. */
     271    bool                        fIntrGroup1Enabled;
     272    /** Alignment. */
     273    bool                        afAlignment0[2];
    268274    /** @} */
    269275
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