diff options
Diffstat (limited to 'include/linux/irqchip/arm-gic-v3.h')
| -rw-r--r-- | include/linux/irqchip/arm-gic-v3.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index cbb872c1b607..8bdbb5f29494 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
| @@ -61,6 +61,16 @@ | |||
| 61 | #define GICD_CTLR_ENABLE_G1A (1U << 1) | 61 | #define GICD_CTLR_ENABLE_G1A (1U << 1) |
| 62 | #define GICD_CTLR_ENABLE_G1 (1U << 0) | 62 | #define GICD_CTLR_ENABLE_G1 (1U << 0) |
| 63 | 63 | ||
| 64 | #define GICD_IIDR_IMPLEMENTER_SHIFT 0 | ||
| 65 | #define GICD_IIDR_IMPLEMENTER_MASK (0xfff << GICD_IIDR_IMPLEMENTER_SHIFT) | ||
| 66 | #define GICD_IIDR_REVISION_SHIFT 12 | ||
| 67 | #define GICD_IIDR_REVISION_MASK (0xf << GICD_IIDR_REVISION_SHIFT) | ||
| 68 | #define GICD_IIDR_VARIANT_SHIFT 16 | ||
| 69 | #define GICD_IIDR_VARIANT_MASK (0xf << GICD_IIDR_VARIANT_SHIFT) | ||
| 70 | #define GICD_IIDR_PRODUCT_ID_SHIFT 24 | ||
| 71 | #define GICD_IIDR_PRODUCT_ID_MASK (0xff << GICD_IIDR_PRODUCT_ID_SHIFT) | ||
| 72 | |||
| 73 | |||
| 64 | /* | 74 | /* |
| 65 | * In systems with a single security state (what we emulate in KVM) | 75 | * In systems with a single security state (what we emulate in KVM) |
| 66 | * the meaning of the interrupt group enable bits is slightly different | 76 | * the meaning of the interrupt group enable bits is slightly different |
| @@ -73,6 +83,7 @@ | |||
| 73 | #define GICD_TYPER_MBIS (1U << 16) | 83 | #define GICD_TYPER_MBIS (1U << 16) |
| 74 | 84 | ||
| 75 | #define GICD_TYPER_ID_BITS(typer) ((((typer) >> 19) & 0x1f) + 1) | 85 | #define GICD_TYPER_ID_BITS(typer) ((((typer) >> 19) & 0x1f) + 1) |
| 86 | #define GICD_TYPER_NUM_LPIS(typer) ((((typer) >> 11) & 0x1f) + 1) | ||
| 76 | #define GICD_TYPER_IRQS(typer) ((((typer) & 0x1f) + 1) * 32) | 87 | #define GICD_TYPER_IRQS(typer) ((((typer) & 0x1f) + 1) * 32) |
| 77 | 88 | ||
| 78 | #define GICD_IROUTER_SPI_MODE_ONE (0U << 31) | 89 | #define GICD_IROUTER_SPI_MODE_ONE (0U << 31) |
| @@ -576,8 +587,8 @@ struct rdists { | |||
| 576 | phys_addr_t phys_base; | 587 | phys_addr_t phys_base; |
| 577 | } __percpu *rdist; | 588 | } __percpu *rdist; |
| 578 | struct page *prop_page; | 589 | struct page *prop_page; |
| 579 | int id_bits; | ||
| 580 | u64 flags; | 590 | u64 flags; |
| 591 | u32 gicd_typer; | ||
| 581 | bool has_vlpis; | 592 | bool has_vlpis; |
| 582 | bool has_direct_lpi; | 593 | bool has_direct_lpi; |
| 583 | }; | 594 | }; |
