This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

QEMU GICV2 Virtual Interface Alias

I'm trying to run my hypervisor on qemu virt. Gicv2 specification describes a mandatory global alias region through which any virtual interface can be accessed by any cpu. Looking through qemu code at arm_gic_realize function this functionality seems to be implemented ( /*Extra core-specific regions for virtual interfaces. This is required by the GICv2 specification */). However, I cant figure out what would be its based address on the memory map. Does anyone know if this is indeed possible in qemu platforms using gicv2 and, if so, what is its base address.

  • Hi @josecm,

    You could ask qemu to dump the dtb and look in there:

    $ qemu-system-aarch64 -machine virt,gic-version=2,virtualization=on,dumpdtb=dump.dtb
    $ dtc -o dump.dts -O dts -I dtb dump.dtb

    Then look into dump.dts for the gic section:

            intc@8000000 {
                    ...
                    reg = <0x00 0x8000000 0x00 0x10000
                            0x00 0x8010000 0x00 0x10000
                            0x00 0x8030000 0x00 0x10000
                            0x00 0x8040000 0x00 0x10000>;
                    compatible = "arm,cortex-a15-gic";
                    ...
            };

    As per https://www.kernel.org/doc/Documentation/devicetree/bindings/interrupt-controller/arm%2Cgic.txt,

    - reg : Specifies base physical address(s) and size of the GIC registers. The
      first region is the GIC distributor register base and size. The 2nd region is
      the GIC cpu interface register base and size.
    
    * GIC virtualization extensions (VGIC)
    
    - reg : Additional regions specifying the base physical address and
      size of the VGIC registers. The first additional region is the GIC
      virtual interface control register base and size. The 2nd additional
      region is the GIC virtual cpu interface register base and size.

    Best regards,

    Vincent.