[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/5] target/arm: KVM vs ARMISARegisters
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH 0/5] target/arm: KVM vs ARMISARegisters |
Date: |
Thu, 01 Nov 2018 17:26:44 +0000 |
User-agent: |
mu4e 1.1.0; emacs 26.1.50 |
Richard Henderson <address@hidden> writes:
> My previous patch set for replacing feature bits with id registers
> failed to consider that these id registers are beginning to control
> migration, and thus we must fill them in for KVM as well.
>
> Thus, we want to initialize these values within CPU from the host.
>
> Finally, re-send the T32EE conversion patch, fixing the build
> failure on an arm32 host in kvm32.c.
>
> Tested on arm64; cross-build tested for arm32.
I'm still seeing the following assert on qemu-test:
qemu-system-aarch64: /home/alex/lsrc/qemu.git/target/arm/cpu.c:832:
arm_cpu_realizefn: Assertion `cpu_isar_feature(arm_div, cpu)' failed.
Which is a regression caused by:
7e0cf8b: target/arm: Convert division from feature bits to isar0 tests
I think the problem is the we trip over the assert because:
/* Some features automatically imply others: */
if (arm_feature(env, ARM_FEATURE_V8)) {
if (arm_feature(env, ARM_FEATURE_M)) {
set_feature(env, ARM_FEATURE_V7);
} else {
set_feature(env, ARM_FEATURE_V7VE);
}
}
Allows:
if (arm_feature(env, ARM_FEATURE_V7VE)) {
assert(cpu_isar_feature(arm_div, cpu));
Which isn't strictly true on kvm guests.
>
>
> r~
>
>
> Richard Henderson (5):
> target/arm: Install ARMISARegisters from kvm host
> target/arm: Fill in ARMISARegisters for kvm64
> target/arm: Introduce read_sys_reg32 for kvm32
> target/arm: Fill in ARMISARegisters for kvm32
> target/arm: Convert t32ee from feature bit to isar3 test
>
> target/arm/cpu.h | 6 +++-
> target/arm/kvm_arm.h | 1 +
> linux-user/elfload.c | 2 +-
> target/arm/cpu.c | 4 ---
> target/arm/helper.c | 2 +-
> target/arm/kvm.c | 1 +
> target/arm/kvm32.c | 75 +++++++++++++++++++++++++-------------------
> target/arm/kvm64.c | 63 +++++++++++++++++++++++++++++++++++--
> target/arm/machine.c | 3 +-
> 9 files changed, 114 insertions(+), 43 deletions(-)
--
Alex Bennée
- Re: [Qemu-devel] [PATCH 0/5] target/arm: KVM vs ARMISARegisters,
Alex Bennée <=