OSDN Git Service

target-arm: Report a valid L1Ip field in CTR_EL0 for CPU type "any"
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 24 Oct 2014 11:19:13 +0000 (12:19 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 24 Oct 2014 11:19:13 +0000 (12:19 +0100)
For the CPU type "any" (only used with linux-user) we were reporting
the L1Ip field as 0b00, which is reserved. Change this field to 0b10
instead, indicating a VIPT icache as the comment describes.

Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Message-id: 1412966807-20844-1-git-send-email-peter.maydell@linaro.org

target-arm/cpu64.c

index a95367a..bb778b3 100644 (file)
@@ -151,7 +151,7 @@ static void aarch64_any_initfn(Object *obj)
     set_feature(&cpu->env, ARM_FEATURE_V8_SHA256);
     set_feature(&cpu->env, ARM_FEATURE_V8_PMULL);
     set_feature(&cpu->env, ARM_FEATURE_CRC);
-    cpu->ctr = 0x80030003; /* 32 byte I and D cacheline size, VIPT icache */
+    cpu->ctr = 0x80038003; /* 32 byte I and D cacheline size, VIPT icache */
     cpu->dcz_blocksize = 7; /*  512 bytes */
 }
 #endif