arm64: Clean up the default pgprot setting
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 3 Apr 2014 14:57:15 +0000 (15:57 +0100)
committerMark Brown <broonie@linaro.org>
Sat, 24 May 2014 13:04:51 +0000 (14:04 +0100)
commit8b343c860c2eb637c24ca77dec244d1f1a7560a6
tree6e83907de3fd08e337ea28a4774daf3a5dd4be13
parentea3518bfc02dff43d671a4f9e2799882689a0db4
arm64: Clean up the default pgprot setting

The primary aim of this patchset is to remove the pgprot_default and
prot_sect_default global variables and rely strictly on predefined
values. The original goal was to be able to run SMP kernels on UP
hardware by not setting the Shareability bit. However, it is unlikely to
see UP ARMv8 hardware and even if we do, the Shareability bit is no
longer assumed to disable cacheable accesses.

A side effect is that the device mappings now have the Shareability
attribute set. The hardware, however, should ignore it since Device
accesses are always Outer Shareable.

Following the removal of the two global variables, there is some PROT_*
macro reshuffling and cleanup, including the __PAGE_* macros (replaced
by PAGE_*).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
(cherry picked from commit a501e32430d4232012ab708b8f0ce841f29e0f02)
Signed-off-by: Mark Brown <broonie@linaro.org>
Conflicts:
arch/arm64/include/asm/io.h
arch/arm64/include/asm/pgtable.h
arch/arm64/include/asm/io.h
arch/arm64/include/asm/pgtable.h
arch/arm64/kernel/setup.c
arch/arm64/mm/dma-mapping.c
arch/arm64/mm/mmu.c