vdev gic
Emulate an ARM standard Generic Interrupt Controller
Synopsis:
vdev gic options
Options:
- gicc guest_address
- Provide the guest-physical address of the virtual GIC's CPU registers.
- gicd guest_address
- Provide the guest-physical address of the virtual GIC's distributor registers.
- gicr guest_address
- Provide the guest-physical address of the virtual GIC's redistributor registers.
- host-gicd host_address
- Deprecated. Use the host-paddr-gicd configuration variable, as desribed in the
VM Configuration Reference
chapter. - host-gich host_address[/cpu/spacing]{,host_address[/cpu/spacing]}
- Deprecated. Use the host-paddr-gich configuration variable, as desribed in the
VM Configuration Reference
chapter. - host-gicr host_address
- Deprecated. Use the host-paddr-gicr configuration variable, as desribed in the
VM Configuration Reference
chapter. - host-gicv host_address
- Deprecated. Use the host-paddr-gicv configuration variable, as desribed 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.
ITS hardware isn't useful without LPIs, so if you specify the its option, you must also specify the num-lpis option.
- its-prealloc num_dts[, num_itts]
- Pre-allocate memory for the ITS data structures to avoid allocation at runtime. The first argument specifies the number of device table entries while the second argument, if given, specifies the number of interrupt translation table entries.
- 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.
The base_intr argument specifies the first interrupt number the frame allows, and num_intrs specifies the number of interrupts allowed. Thus, the highest interrupt allowed is
base_intr + num_intrs - 1
.Note:When presenting a vdev or passing through a device requiring MSI or MSI-X, you must make an MSI mechanism available to the guest that uses this vdev or device.
You don't need PCI to use the MSI feature; it is supported for non-PCI devices on an ARM host that has ITS hardware.
- 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.
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. This release supports only version 3 (GICv3). Because this 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.
gicc=0x2c000000, gicd=0x2f000000, gicr=0x2f100000
If some addresses are specified but others missing, the qvm
process places the gicc registers after
the gicr registers.
For more information, see asinfo
in the System Page
chapter in Building
Embedded Systems.