/Linux-v6.1/include/kvm/ |
D | arm_vgic.h | 39 VGIC_V2, /* Good ol' GICv2 */ 67 /* maximum number of VCPUs allowed (GICv2 limits us to 8) */ 145 u8 targets; /* GICv2 target VCPUs mask */ 148 u8 source; /* GICv2 SGIs only */ 149 u8 active_source; /* GICv2 SGIs only */ 229 /* vGIC model the kernel emulates for the guest (GICv2 or GICv3) */ 234 #define KVM_VGIC_IMP_REV_2 2 /* GICv2 restorable groups */ 238 /* Userspace can write to GICv2 IGROUPR */ 249 /* either a GICv2 CPU interface */
|
/Linux-v6.1/Documentation/virt/kvm/devices/ |
D | arm-vgic.rst | 17 guest GICv2 through this interface. For information on creating a guest GICv3 19 create both a GICv3 and GICv2 device on the same VM. 58 GICv2 specs. Getting or setting such a register has the same effect as 65 GICv2 is changed in a way directly observable by the guest or userspace. 92 defined in the GICv2 specs. Getting or setting such a register has the 96 fixed format for our implementation that fits with the model of a "GICv2 112 similar to GICv2's GICH_APR.
|
/Linux-v6.1/Documentation/devicetree/bindings/pci/ |
D | brcm,stb-pcie.yaml | 153 interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 154 0 0 0 2 &gicv2 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 155 0 0 0 3 &gicv2 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH 156 0 0 0 4 &gicv2 GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
|
/Linux-v6.1/arch/arm64/boot/dts/arm/ |
D | foundation-v8-psci.dts | 4 * ARMv8 Foundation model DTS (GICv2+PSCI configuration) 8 #include "foundation-v8-gicv2.dtsi"
|
D | foundation-v8.dts | 5 * ARMv8 Foundation model DTS (GICv2 configuration) 9 #include "foundation-v8-gicv2.dtsi"
|
D | foundation-v8-gicv2.dtsi | 4 * ARMv8 Foundation model DTS (GICv2 configuration)
|
/Linux-v6.1/arch/arm64/kvm/vgic/ |
D | vgic-init.c | 33 * structures. Can be executed lazily for GICv2. 82 * which had no chance yet to check the availability of the GICv2 in kvm_vgic_create() 148 * initialization when using a virtual GICv2. in kvm_vgic_dist_init() 399 * is a GICv2. A GICv3 must be explicitly initialized by the guest using the 410 * for the legacy case of a GICv2. Any other type must in vgic_lazy_init()
|
D | vgic-mmio-v2.c | 20 * Revision 1: Report GICv2 interrupts as group 0 instead of group 1 370 /* GICv2 hardware systems support max. 32 groups */ in vgic_mmio_read_apr() 382 /* GICv3 only uses ICH_AP1Rn for memory mapped (GICv2) guests */ in vgic_mmio_read_apr() 396 /* GICv2 hardware systems support max. 32 groups */ in vgic_mmio_write_apr() 408 /* GICv3 only uses ICH_AP1Rn for memory mapped (GICv2) guests */ in vgic_mmio_write_apr()
|
D | vgic-v2.c | 194 /* The GICv2 LR only holds five bits of priority. */ in vgic_v2_populate_lr() 349 kvm_err("GICv2 not supported in protected mode\n"); in vgic_v2_probe() 388 kvm_err("Cannot register GICv2 KVM device\n"); in vgic_v2_probe()
|
D | vgic-v3.c | 271 * If we are emulating a GICv3, we do it in an non-GICv2-compatible in vgic_v3_enable() 675 kvm_err("Cannot register GICv2 KVM device.\n"); in vgic_v3_probe() 688 kvm_info("disabling GICv2 emulation\n"); in vgic_v3_probe() 728 * If dealing with a GICv2 emulation on GICv3, VMCR_EL2.VFIQen in vgic_v3_load()
|
D | vgic-mmio.c | 361 * GICv2 SGIs are terribly broken. We can't restore in vgic_uaccess_write_spending() 453 * More fun with GICv2 SGIs! If we're clearing one of them in vgic_uaccess_write_cpending() 480 * For GICv2 private interrupts we don't have to do anything because 582 * The GICv2 architecture indicates that the source CPUID for in vgic_mmio_change_active() 590 * for a GICv2 VM on some GIC implementations. Oh well. in vgic_mmio_change_active()
|
D | vgic-debug.c | 149 seq_printf(s, "vgic_model:\t%s\n", v3 ? "GICv3" : "GICv2"); in print_dist_state()
|
D | vgic.h | 137 * state to userspace can generate either GICv2 or GICv3 CPU interface
|
D | vgic.c | 771 /* GICv2 SGIs can count for more than one... */ in compute_ap_list_depth() 844 * GICv2 can always be accessed from the kernel because it is in can_access_vgic_from_kernel()
|
/Linux-v6.1/drivers/irqchip/ |
D | irq-gic.c | 901 .name = "GICv2", 1351 * first page of a GICv2. in gic_check_eoimode() 1357 pr_warn("GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set\n"); in gic_check_eoimode() 1366 * The first page was that of a GICv2, and in gic_check_eoimode() 1368 * to be a GICv2, and update the mapping. in gic_check_eoimode() 1370 pr_warn("GIC: GICv2 at %pa, but range is too small (broken DT?), assuming 8kB\n", in gic_check_eoimode() 1378 * We detected *two* initial GICv2 pages in a in gic_check_eoimode() 1379 * row. Could be a GICv2 aliased over two 64kB in gic_check_eoimode() 1387 pr_warn("GIC: Aliased GICv2 at %pa, trying to find the canonical range over 128kB\n", in gic_check_eoimode() 1395 * Verify that we have the first 4kB of a GICv2 in gic_check_eoimode() [all …]
|
/Linux-v6.1/tools/testing/selftests/kvm/aarch64/ |
D | vgic_init.c | 127 * ARM_VGIC (GICv2 or GICv3) device gets created with an overlapping 128 * DIST/REDIST (or DIST/CPUIF for GICv2). Assumption is 4 vcpus are going to be 130 * and a DIST region is set @0x70000. The GICv2 case sets a CPUIF @0x0 and a 137 struct vgic_region_attr rdist; /* CPU interface in GICv2*/ in subtest_dist_rdist() 714 print_skip("No GICv2 nor GICv3 support"); in main()
|
/Linux-v6.1/include/linux/irqchip/ |
D | arm-vgic-info.h | 14 /* Full GICv2 */
|
D | arm-gic-v3.h | 50 * Those registers are actually from GICv2, but the spec demands that they 580 /* These are for GICv2 emulation only */
|
/Linux-v6.1/Documentation/devicetree/bindings/interrupt-controller/ |
D | arm,gic.yaml | 101 For GICv2 with virtualization extensions, additional regions are 202 // GICv2
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | bcm2711.dtsi | 13 interrupt-parent = <&gicv2>; 56 gicv2: interrupt-controller@40041000 { label 565 interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 567 <0 0 0 2 &gicv2 GIC_SPI 144 569 <0 0 0 3 &gicv2 GIC_SPI 145 571 <0 0 0 4 &gicv2 GIC_SPI 146
|
/Linux-v6.1/Documentation/devicetree/bindings/gpio/ |
D | gpio-xgene-sb.txt | 12 | (GICv2) +--------------+ +------ GPIO_[N+8]/EXT_INT_N
|
/Linux-v6.1/arch/arm64/kvm/hyp/ |
D | vgic-v3-sr.c | 264 * Group0 interrupt (as generated in GICv2 mode) to be in __vgic_v3_activate_traps() 412 * - [63] MMIO (GICv2) capable 420 * To check whether we have a MMIO-based (GICv2 compatible) in __vgic_v3_get_gic_config()
|
/Linux-v6.1/Documentation/translations/zh_TW/arm64/ |
D | booting.txt | 209 - 設備樹(DT)或 ACPI 表必須描述一個 GICv2 中斷控制器。
|
/Linux-v6.1/Documentation/translations/zh_CN/arm64/ |
D | booting.txt | 205 - 设备树(DT)或 ACPI 表必须描述一个 GICv2 中断控制器。
|
/Linux-v6.1/Documentation/arm64/ |
D | memory.rst | 97 GICv2 gets mapped next to the HYP idmap page, as do vectors when
|