summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Maydell2017-01-20 12:15:10 +0100
committerPeter Maydell2017-01-20 12:15:10 +0100
commit2013c5665cf001f4929e791c9f2262fdb508cf60 (patch)
treebb7ea9a71bf04c2330f6c15f961cf27a91886a8f /include
parenthw/intc/arm_gicv3: Implement EL2 traps for CPU i/f regs (diff)
downloadqemu-2013c5665cf001f4929e791c9f2262fdb508cf60.tar.gz
qemu-2013c5665cf001f4929e791c9f2262fdb508cf60.tar.xz
qemu-2013c5665cf001f4929e791c9f2262fdb508cf60.zip
hw/arm/virt: Support using SMC for PSCI
If we are giving the guest a CPU with EL2, it is likely to want to use the HVC instruction itself, for instance for providing PSCI to inner guest VMs. This makes using HVC as the PSCI conduit for the outer QEMU a bad idea. We will want to use SMC instead is this case: this makes sense because QEMU's PSCI implementation is effectively an emulation of functionality provided by EL3 firmware. Add code to support selecting the PSCI conduit to use, rather than hardcoding use of HVC. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Message-id: 1483977924-14522-15-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'include')
-rw-r--r--include/hw/arm/virt.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index b8a19ec002..53507e63d0 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -103,7 +103,7 @@ typedef struct {
uint32_t clock_phandle;
uint32_t gic_phandle;
uint32_t msi_phandle;
- bool using_psci;
+ int psci_conduit;
} VirtMachineState;
#define TYPE_VIRT_MACHINE MACHINE_TYPE_NAME("virt")