121a122,139
> // GIC physical LPI Redistributor register
> enum {
> // Set LPI Pending Register
> GICR_SETLPIR = RD_base + 0x0040,
> // Clear LPI Pending Register
> GICR_CLRLPIR = RD_base + 0x0048,
> //Redistributor Properties Base Address Register
> GICR_PROPBASER = RD_base + 0x0070,
> // Redistributor LPI Pending Table Base Address Register
> GICR_PENDBASER = RD_base + 0x0078,
> // Redistributor Invalidate LPI Register
> GICR_INVLPIR = RD_base + 0x00A0,
> // Redistributor Invalidate All Register
> GICR_INVALLR = RD_base + 0x00B0,
> // Redistributor Synchronize Register
> GICR_SYNCR = RD_base + 0x00C0,
> };
>
133a152
> bool EnableLPIs;
134a154,166
> Addr lpiConfigurationTablePtr;
> uint8_t lpiIDBits;
> Addr lpiPendingTablePtr;
>
> BitUnion8(LPIConfigurationTableEntry)
> Bitfield<7, 2> priority;
> Bitfield<1> res1;
> Bitfield<0> enable;
> EndBitUnion(LPIConfigurationTableEntry)
>
> std::vector<LPIConfigurationTableEntry> lpiConfigurationTable;
>
> static const uint32_t GICR_CTLR_ENABLE_LPIS = 1 << 0;
149a182,183
> static const uint32_t SMALLEST_LPI_ID = 8192;
>
170a205
> void setClrLPI(uint64_t data, bool set);
180a216
> void invalLpiConfig(uint32_t lpi_entry_index);