From: Peter Maydell Date: Fri, 2 Jun 2017 10:51:47 +0000 (+0100) Subject: arm: Don't clear ARM_FEATURE_PMSA for no-mpu configs X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f50cd31413d8bc9d1eef8edd1f878324543bf65d;p=qemu.git arm: Don't clear ARM_FEATURE_PMSA for no-mpu configs Fix the handling of QOM properties for PMSA CPUs with no MPU: Allow no-MPU to be specified by either: * has-mpu = false * pmsav7_dregion = 0 and make setting one imply the other. Don't clear the PMSA feature bit in this situation. Signed-off-by: Peter Maydell Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daudé Message-id: 1493122030-32191-6-git-send-email-peter.maydell@linaro.org --- diff --git a/target/arm/cpu.c b/target/arm/cpu.c index f844af5673..76a5e20111 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -763,8 +763,14 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp) cpu->id_pfr1 &= ~0xf000; } + /* MPU can be configured out of a PMSA CPU either by setting has-mpu + * to false or by setting pmsav7-dregion to 0. + */ if (!cpu->has_mpu) { - unset_feature(env, ARM_FEATURE_PMSA); + cpu->pmsav7_dregion = 0; + } + if (cpu->pmsav7_dregion == 0) { + cpu->has_mpu = false; } if (arm_feature(env, ARM_FEATURE_PMSA) &&