Skip to content
  1. Mar 04, 2014
    • Mark Rutland's avatar
      arm64: remove unnecessary cache flush at boot · bff70595
      Mark Rutland authored
      
      
      Currently we flush the entire dcache at boot within __cpu_setup, but
      this is unnecessary as the booting protocol demands that the dcache is
      invalid and off upon entering the kernel. The presence of the cache
      flush only serves to hide bugs in bootloaders, and is not safe in the
      presence of SMP.
      
      In an SMP boot scenario the CPUs enter coherency outside of the kernel,
      and the primary CPU enables its caches before bringing up secondary
      CPUs. Therefore if any secondary CPU has an entry in its cache (in
      violation of the boot protocol), the primary CPU might snoop it even if
      the secondary CPU's cache is disabled. The boot-time cache flush only
      serves to hide a firmware bug, and slows down a cpu boot unnecessarily.
      
      This patch removes the unnecessary boot-time cache flush.
      
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      [catalin.marinas@arm.com: make __flush_dcache_all local only]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      bff70595
  2. Feb 28, 2014
  3. Feb 27, 2014
  4. Feb 26, 2014
  5. Feb 24, 2014
  6. Feb 23, 2014
  7. Feb 22, 2014