[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/26] target/arm: Fix '-cpu max' for HVF
From: |
Peter Maydell |
Subject: |
[PULL 11/26] target/arm: Fix '-cpu max' for HVF |
Date: |
Mon, 21 Feb 2022 09:27:45 +0000 |
Currently when using hvf we mishandle '-cpu max': we fall through to
the TCG version of its initfn, which then sets a lot of feature bits
that the real host CPU doesn't have. The hvf accelerator code then
exposes these bogus ID register values to the guest because it
doesn't check that the host really has the features.
Make '-cpu host' be like '-cpu max' for hvf, as we do with kvm.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Alexander Graf <agraf@csgraf.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220204165506.2846058-6-peter.maydell@linaro.org
---
target/arm/cpu64.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
index 2280e476fd7..19330d9ee94 100644
--- a/target/arm/cpu64.c
+++ b/target/arm/cpu64.c
@@ -29,6 +29,7 @@
#include "hw/loader.h"
#endif
#include "sysemu/kvm.h"
+#include "sysemu/hvf.h"
#include "kvm_arm.h"
#include "hvf_arm.h"
#include "qapi/visitor.h"
@@ -710,8 +711,8 @@ static void aarch64_max_initfn(Object *obj)
uint64_t t;
uint32_t u;
- if (kvm_enabled()) {
- /* With KVM, '-cpu max' is identical to '-cpu host' */
+ if (kvm_enabled() || hvf_enabled()) {
+ /* With KVM or HVF, '-cpu max' is identical to '-cpu host' */
aarch64_host_initfn(obj);
return;
}
--
2.25.1
- [PULL 01/26] MAINTAINERS: Adding myself as a reviewer of some components, (continued)
- [PULL 01/26] MAINTAINERS: Adding myself as a reviewer of some components, Peter Maydell, 2022/02/21
- [PULL 02/26] tests/qtest: add qtests for npcm7xx sdhci, Peter Maydell, 2022/02/21
- [PULL 03/26] hvf: arm: Use macros for sysreg shift/masking, Peter Maydell, 2022/02/21
- [PULL 04/26] hvf: arm: Handle unknown ID registers as RES0, Peter Maydell, 2022/02/21
- [PULL 07/26] target/arm: Move '-cpu host' code to cpu64.c, Peter Maydell, 2022/02/21
- [PULL 06/26] checkpatch: Ensure that TypeInfos are const, Peter Maydell, 2022/02/21
- [PULL 08/26] target/arm: Use aarch64_cpu_register() for 'host' CPU type, Peter Maydell, 2022/02/21
- [PULL 12/26] target/arm: Support PAuth extension for hvf, Peter Maydell, 2022/02/21
- [PULL 05/26] Mark remaining global TypeInfo instances as const, Peter Maydell, 2022/02/21
- [PULL 09/26] target/arm: Make KVM -cpu max exactly like -cpu host, Peter Maydell, 2022/02/21
- [PULL 11/26] target/arm: Fix '-cpu max' for HVF,
Peter Maydell <=
- [PULL 14/26] Kconfig: Add 'imply I2C_DEVICES' on boards with available i2c bus, Peter Maydell, 2022/02/21
- [PULL 13/26] Kconfig: Add I2C_DEVICES device group, Peter Maydell, 2022/02/21
- [PULL 10/26] target/arm: Unindent unnecessary else-clause, Peter Maydell, 2022/02/21
- [PULL 15/26] hw/arm/armv7m: Handle disconnected clock inputs, Peter Maydell, 2022/02/21
- [PULL 16/26] include: Move qemu_madvise() and related #defines to new qemu/madvise.h, Peter Maydell, 2022/02/21
- [PULL 17/26] include: Move qemu_mprotect_*() to new qemu/mprotect.h, Peter Maydell, 2022/02/21
- [PULL 19/26] include: Move qemu_[id]cache_* declarations to new qemu/cacheinfo.h, Peter Maydell, 2022/02/21
- [PULL 20/26] include: Move hardware version declarations to new qemu/hw-version.h, Peter Maydell, 2022/02/21
- [PULL 23/26] hw/arm: add initial mori-bmc board, Peter Maydell, 2022/02/21
- [PULL 18/26] include: Move QEMU_MAP_* constants to mmap-alloc.h, Peter Maydell, 2022/02/21