• Ben Avison's avatar
    Fixed cache detection code · 115e6d35
    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
VersionNum 859 Bytes