diff options
author | Akihiko Odaki | 2022-02-13 04:57:53 +0100 |
---|---|---|
committer | Peter Maydell | 2022-03-02 20:27:36 +0100 |
commit | 0dc71c701cd68c0c0508360944367faebc394196 (patch) | |
tree | eff7c4e348014118393805e11cee1a7514f60239 /target/arm/cpu.c | |
parent | hw/i2c: flatten pca954x mux device (diff) | |
download | qemu-0dc71c701cd68c0c0508360944367faebc394196.tar.gz qemu-0dc71c701cd68c0c0508360944367faebc394196.tar.xz qemu-0dc71c701cd68c0c0508360944367faebc394196.zip |
target/arm: Support PSCI 1.1 and SMCCC 1.0
Support the latest PSCI on TCG and HVF. A 64-bit function called from
AArch32 now returns NOT_SUPPORTED, which is necessary to adhere to SMC
Calling Convention 1.0. It is still not compliant with SMCCC 1.3 since
they do not implement mandatory functions.
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Message-id: 20220213035753.34577-1-akihiko.odaki@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: update MISMATCH_CHECK checks on PSCI_VERSION macros to match]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/cpu.c')
-rw-r--r-- | target/arm/cpu.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/target/arm/cpu.c b/target/arm/cpu.c index c085dc10ee..dd64d178e2 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1110,11 +1110,12 @@ static void arm_cpu_initfn(Object *obj) * picky DTB consumer will also provide a helpful error message. */ cpu->dtb_compatible = "qemu,unknown"; - cpu->psci_version = 1; /* By default assume PSCI v0.1 */ + cpu->psci_version = QEMU_PSCI_VERSION_0_1; /* By default assume PSCI v0.1 */ cpu->kvm_target = QEMU_KVM_ARM_TARGET_NONE; if (tcg_enabled() || hvf_enabled()) { - cpu->psci_version = 2; /* TCG and HVF implement PSCI 0.2 */ + /* TCG and HVF implement PSCI 1.1 */ + cpu->psci_version = QEMU_PSCI_VERSION_1_1; } } |