android_kernel_samsung_msm8976/arch/arm64/mm
Mark Rutland 9a2a75516a arm64: remove unnecessary cache flush at boot
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: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
[catalin.marinas@arm.com: make __flush_dcache_all local only]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Git-commit: bff705950e2cdcf35641dee35eb14bad9ed49e8f
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2014-08-15 11:41:28 -07:00
..
cache.S arm64: remove unnecessary cache flush at boot 2014-08-15 11:41:28 -07:00
context.c
copypage.c
dma-mapping.c arm64: remap strongly ordered memory 2014-07-24 10:56:34 -07:00
extable.c
fault.c arm64: abort coresight tracing on user faults 2014-03-17 13:28:34 -07:00
flush.c arm64: Remove __flush_dcache_page() 2014-02-07 13:49:32 -08:00
hugetlbpage.c mm: migrate: check movability of hugepage in unmap_and_move_huge_page() 2014-02-07 13:49:46 -08:00
init.c arm64: implement CONFIG_STRICT_MEMORY_RWX for arm64 2014-03-26 16:14:36 -07:00
iomap.c arm64: PCI(e) arch support 2014-06-12 10:35:47 -07:00
ioremap.c arm64: PCI(e) arch support 2014-06-12 10:35:47 -07:00
Kconfig arm64: add Kconfig entry for CONFIG_STRICT_MEMORY_RWX 2014-03-27 09:04:16 -07:00
Makefile arm64: Add alternate CONFIG_DEBUG_SET_MODULE_RONX support 2014-07-02 18:17:45 -07:00
mm.h arm64: Remove __flush_dcache_page() 2014-02-07 13:49:32 -08:00
mmap.c mm: remove free_area_cache 2014-02-07 13:49:41 -08:00
mmu.c arm64: mmu: add ability to write kernel word 2014-08-07 17:31:01 -04:00
pageattr.c arm64: Add support for FREE_PAGES_RDONLY 2014-07-09 12:40:43 -07:00
pgd.c arm64: simplify pgd_alloc 2014-04-17 17:16:46 -07:00
proc-macros.S arm64: mm: use ubfm for dcache_line_size 2014-04-17 17:05:10 -07:00
proc.S arm64: remove unnecessary cache flush at boot 2014-08-15 11:41:28 -07:00
tlb.S arm64: mm: Add tlbi workaround for msm8994 2014-05-14 19:48:40 -07:00