qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-arm] [PATCH] hw/arm/virt: fix psci conduit in acpi when el3 enable


From: Hongbo Zhang
Subject: [Qemu-arm] [PATCH] hw/arm/virt: fix psci conduit in acpi when el3 enabled
Date: Fri, 22 Jun 2018 18:37:07 +0800

When QEMU_PSCI_CONDUIT_DISABLED is set, it doesn't mean all the PSCI
conduits are totally disabled, it only mean the QEMU built-in PSCI
support is disabled, in such a case, e.g. EL3 is enabled and external
firmware (it is usually Arm Trusted Firmware) is loaded, SMC should be
used for the guest to trigger PSCI functions.

Signed-off-by: Hongbo Zhang <address@hidden>
---
 hw/arm/virt-acpi-build.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 74f5744..e5b4947 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -715,7 +715,11 @@ static void build_fadt_rev5(GArray *table_data, BIOSLinker 
*linker,
 
     switch (vms->psci_conduit) {
     case QEMU_PSCI_CONDUIT_DISABLED:
-        fadt.arm_boot_arch = 0;
+        /* This case means QEMU's internal EL3 implementation is disabled,
+         * but when firmware is loaded, the guest can still use SMC as PSCI
+         * conduit to call external firmware PSCI services
+         */ 
+        fadt.arm_boot_arch = ACPI_FADT_ARM_PSCI_COMPLIANT;
         break;
     case QEMU_PSCI_CONDUIT_HVC:
         fadt.arm_boot_arch = ACPI_FADT_ARM_PSCI_COMPLIANT |
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]