On 11/12/18 1:42 PM, Peter Maydell wrote:
> Adding the following change allowed me to boot:
>
> diff --git a/target/arm/kvm32.c b/target/arm/kvm32.c
> index 8b2c9b3..2f7df81 100644
> --- a/target/arm/kvm32.c
> +++ b/target/arm/kvm32.c
> @@ -84,9 +84,15 @@ bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures
> *ahcf)
> ARM_CP15_REG32(0, 0, 2, 4));
> err |= read_sys_reg32(fdarray[2], &ahcf->isar.id_isar5,
> ARM_CP15_REG32(0, 0, 2, 5));
> - err |= read_sys_reg32(fdarray[2], &ahcf->isar.id_isar6,
> - ARM_CP15_REG32(0, 0, 2, 7));
> -
> + if (read_sys_reg32(fdarray[2], &ahcf->isar.id_isar6,
> + ARM_CP15_REG32(0, 0, 2, 7))) {
> + /*
> + * Older kernels don't support reading ID_ISAR6. This register was
> + * only introduced in ARMv8, so we can assume that it is zero on a
> + * CPU that a kernel this old is running on.
> + */
> + ahcf->isar.id_isar6 = 0;
> + }
Ah, right, thanks.
r~