aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/proc-xsc3.S
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-06-29 13:24:21 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-06-29 13:24:21 -0400
commit8799ee9f49f6171fd58f4d64f8c067ca49006a5d (patch)
treeb746b8800bc99633f31505d151624c8ccd75cd47 /arch/arm/mm/proc-xsc3.S
parent326764a85b7676388db3ebad6488f312631d7661 (diff)
[ARM] Set bit 4 on section mappings correctly depending on CPU
On some CPUs, bit 4 of section mappings means "update the cache when written to". On others, this bit is required to be one, and others it's required to be zero. Finally, on ARMv6 and above, setting it turns on "no execute" and prevents speculative prefetches. With all these combinations, no one value fits all CPUs, so we have to pick a value depending on the CPU type, and the area we're mapping. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-xsc3.S')
-rw-r--r--arch/arm/mm/proc-xsc3.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S
index 8d32e21fe151..9aea506d3e65 100644
--- a/arch/arm/mm/proc-xsc3.S
+++ b/arch/arm/mm/proc-xsc3.S
@@ -487,7 +487,14 @@ cpu_xsc3_name:
487__xsc3_proc_info: 487__xsc3_proc_info:
488 .long 0x69056000 488 .long 0x69056000
489 .long 0xffffe000 489 .long 0xffffe000
490 .long 0x00000c0e 490 .long PMD_TYPE_SECT | \
491 PMD_SECT_BUFFERABLE | \
492 PMD_SECT_CACHEABLE | \
493 PMD_SECT_AP_WRITE | \
494 PMD_SECT_AP_READ
495 .long PMD_TYPE_SECT | \
496 PMD_SECT_AP_WRITE | \
497 PMD_SECT_AP_READ
491 b __xsc3_setup 498 b __xsc3_setup
492 .long cpu_arch_name 499 .long cpu_arch_name
493 .long cpu_elf_name 500 .long cpu_elf_name