qemu-e2k/include/hw
Luc Michel 5773c0494a intc/arm_gic: Add the virtualization extensions to the GIC state
Add the necessary parts of the virtualization extensions state to the
GIC state. We choose to increase the size of the CPU interfaces state to
add space for the vCPU interfaces (the GIC_NCPU_VCPU macro). This way,
we'll be able to reuse most of the CPU interface code for the vCPUs.

The only exception is the APR value, which is stored in h_apr in the
virtual interface state for vCPUs. This is due to some complications
with the GIC VMState, for which we don't want to break backward
compatibility. APRs being stored in 2D arrays, increasing the second
dimension would lead to some ugly VMState description. To avoid
that, we keep it in h_apr for vCPUs.

The vCPUs are numbered from GIC_NCPU to (GIC_NCPU * 2) - 1. The
`gic_is_vcpu` function help to determine if a given CPU id correspond to
a physical CPU or a virtual one.

For the in-kernel KVM VGIC, since the exposed VGIC does not implement
the virtualization extensions, we report an error if the corresponding
property is set to true.

Signed-off-by: Luc Michel <luc.michel@greensocs.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20180727095421.386-6-luc.michel@greensocs.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-08-14 17:17:20 +01:00
..
acpi hw/tpm: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
adc
arm hw/arm/smmu-common: Fix devfn computation in smmu_iommu_mr 2018-07-09 14:51:34 +01:00
audio
block Revert "block: Remove deprecated -drive option serial" 2018-07-10 14:36:11 +02:00
char
core
cpu
cris
display hw/display: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
dma
gpio
i2c ppc4xx_i2c: Rewrite to model hardware more closely 2018-07-03 09:56:52 +10:00
i386 i386: do not migrate MSR_SMI_COUNT on machine types <2.12 2018-07-30 14:00:11 +02:00
ide
input
intc intc/arm_gic: Add the virtualization extensions to the GIC state 2018-08-14 17:17:20 +01:00
ipack
ipmi
isa
kvm
lm32
m68k
mem pc-dimm: get_memory_region() will not fail after realize 2018-06-28 19:05:34 +02:00
mips hw/mips: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
misc hw/display/xlnx_dp: Move problematic code from instance_init to realize 2018-07-17 13:12:49 +01:00
net hw/net: Use the IEC binary prefix definitions 2018-07-02 15:41:16 +02:00
nvram
pci
pci-bridge
pci-host
ppc ppc patch queue 2018-07-03 2018-07-03 14:59:27 +01:00
riscv hw/riscv/sifive_u: Connect the Cadence GEM Ethernet device 2018-07-05 15:24:25 -07:00
s390x s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00
scsi Block layer patches: 2018-06-29 18:29:15 +01:00
sd
sh4
smbios
sparc
ssi
timer
tricore
unicore32
usb
vfio
virtio virtio-gpu: fix crashes upon warm reboot with vga mode 2018-08-07 15:03:58 +01:00
watchdog
xen
xtensa
boards.h boards.h: Remove doc comment reference to nonexistent function 2018-07-09 14:51:34 +01:00
bt.h
compat.h vga: disable global_vmstate for 3.0+ machine types 2018-07-03 11:19:49 +02:00
devices.h
elf_ops.h
empty_slot.h
fw-path-provider.h
hotplug.h qdev: add HotplugHandler->post_plug() callback 2018-07-16 16:58:16 +02:00
hw.h
ide.h
irq.h
loader-fit.h
loader.h loader: Check access size when calling rom_ptr() to avoid crashes 2018-07-02 10:37:38 +02:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h ptimer: Add TRIGGER_ONLY_ON_DECREMENT policy option 2018-07-09 14:51:34 +01:00
qdev-core.h
qdev-dma.h
qdev-properties.h
qdev.h
register.h
registerfields.h
stream.h
sysbus.h hw/core/sysbus: Add a function for creating and attaching an object 2018-07-17 13:12:49 +01:00
usb.h