-
Ben Avison authored
Detail: The cache details were previously fixed in a look-up table based upon the CPU as determined from the Main ID register for "fancy" ARMv6 CPUs (that is, ARMv6K, ARMv6Z, ARMv6T2). So the details for the S3C6410 were being used for all ARM1176JZF-S CPUs, which isn't correct for the BCM2835, which has the same CPU. Adrian's original stopgap solution was to override the settings with a bunch of MOV instructions, which had the effect of making the kernel useless on any other CPU. Now the details are read from the ARM cache type register for fancy ARMv6 CPUs. This necessitated adding support for an extra cache type: writeback, with cache cleaning using R7, and cache lockdown format C. Since we don't actually do cache lockdown, this follows the same code path as cache lockdown type A, which was originally written for ARM9 CPUs. Admin: Tested in a Raspberry Pi build Version 5.35, 4.79.2.147.2.2. Tagged as 'Kernel-5_35-4_79_2_147_2_2'
115e6d35