vdev gic
Emulate an ARM standard Generic Interrupt Controller (GICv2 or GICv3)
Synopsis:
vdev gic options
Options:
- gicc guest_address
- Provide the guest-physical address of the virtual GIC's CPU registers.
- gicr guest_address
- GICv3 and more recent only. Provide the guest-physical address of the virtual GIC's redistributor registers.
- host-gicd host_address
- Deprecated. Use set
host-paddr-gicd (see the host-paddr-gicd variable in the
VM Configuration Reference
chapter). - host-gich host_address[/cpu/spacing]{,host_address[/cpu/spacing]}
- Deprecated. Use set
host-paddr-gich (see the host-paddr-gich variable in the
VM Configuration Reference
chapter). - host-gicv host_address
- Deprecated. Use set
host-paddr-gicv (see the host-paddr-gicv variable in the
VM Configuration Reference
chapter). - its address
- Present the guest with virtualized Interrupt Translation Service (ITS) hardware at the guest-physical address specified by address.
- loc address
- Provide the guest-physical address of the GIC distributor registers.
- msi address, base_intr,num_intrs
- Create a Message Signaled Interrupt (MSI) device frame at the physical address specified by address.
- num-lpis number
- Set the number of Locality-specific Peripheral Interrupts (LPIs) that will be made available to the guest. The number argument must be a value from 8192 to 65536.
- version number
- Provide the version number of the virtual GIC to be presented to the guest.
Currently supported values for number are
2and3;4is permitted, but GICv4 is not yet supported.
For a list of options available to all vdevs, see Common vdev options
earlier in this chapter.
Description:
ARM only. Implicit (see Implicit vdevs
).
The gic vdev emulates an ARM standard Generic Interrupt Controller (GICv2 or GICv3). Since it is an implicit vdev, you need to add configuration information for it only if you want to use non-default behavior or provide information to be used in case information is not available from the board or is incorrect.
If none of gicc, gicd, or loc is specified, the qvm process assumes the ARM foundation model addresses. For GICv2 these addresses are:
gicc=0x2f002000, gicd=0x2f001000
For GICv3 or GICv4, the qvm process assumes the following addresses:
gicc=0x2c000000, gicd=0x2f000000, gicr=0x2f100000
If some addresses are specified but others missing, the qvm
process places the gicc registers after the gicd
registers (GICv2) or after the gicr registers (GICv3 and GICv4).
For more information, see asinfo
in the System Page
chapter in Building
Embedded Systems.
Related configuration variables
There are configuration variables that are specific to the vdev gic. For details,
see About the set
host-* arguments
in the VM Configuration Reference
chapter.
