diff options
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mm/mm.h | 5 | ||||
-rw-r--r-- | arch/arm/mm/mmu.c | 9 | ||||
-rw-r--r-- | arch/arm/mm/nommu.c | 4 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1020.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1020e.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1022.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm1026.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm6_7.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm720.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm740.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm7tdmi.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm920.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm922.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm925.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm926.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm940.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm946.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-arm9tdmi.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-sa110.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-sa1100.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-v6.S | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 13 | ||||
-rw-r--r-- | arch/arm/mm/proc-xscale.S | 11 |
24 files changed, 43 insertions, 39 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index c0bfb8212b77..125cb3ff5589 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -333,7 +333,7 @@ config CPU_XSCALE | |||
333 | # XScale Core Version 3 | 333 | # XScale Core Version 3 |
334 | config CPU_XSC3 | 334 | config CPU_XSC3 |
335 | bool | 335 | bool |
336 | depends on ARCH_IXP23XX | 336 | depends on ARCH_IXP23XX || ARCH_IOP13XX |
337 | default y | 337 | default y |
338 | select CPU_32v5 | 338 | select CPU_32v5 |
339 | select CPU_ABRT_EV5T | 339 | select CPU_ABRT_EV5T |
@@ -580,7 +580,7 @@ config CPU_CACHE_ROUND_ROBIN | |||
580 | 580 | ||
581 | config CPU_BPREDICT_DISABLE | 581 | config CPU_BPREDICT_DISABLE |
582 | bool "Disable branch prediction" | 582 | bool "Disable branch prediction" |
583 | depends on CPU_ARM1020 || CPU_V6 | 583 | depends on CPU_ARM1020 || CPU_V6 || CPU_XSC3 |
584 | help | 584 | help |
585 | Say Y here to disable branch prediction. If unsure, say N. | 585 | Say Y here to disable branch prediction. If unsure, say N. |
586 | 586 | ||
diff --git a/arch/arm/mm/mm.h b/arch/arm/mm/mm.h index bb2bc9ab6bd3..a44e30970635 100644 --- a/arch/arm/mm/mm.h +++ b/arch/arm/mm/mm.h | |||
@@ -1,4 +1,7 @@ | |||
1 | /* the upper-most page table pointer */ | 1 | /* the upper-most page table pointer */ |
2 | |||
3 | #ifdef CONFIG_MMU | ||
4 | |||
2 | extern pmd_t *top_pmd; | 5 | extern pmd_t *top_pmd; |
3 | 6 | ||
4 | #define TOP_PTE(x) pte_offset_kernel(top_pmd, x) | 7 | #define TOP_PTE(x) pte_offset_kernel(top_pmd, x) |
@@ -13,6 +16,8 @@ static inline pmd_t *pmd_off_k(unsigned long virt) | |||
13 | return pmd_off(pgd_offset_k(virt), virt); | 16 | return pmd_off(pgd_offset_k(virt), virt); |
14 | } | 17 | } |
15 | 18 | ||
19 | #endif | ||
20 | |||
16 | struct map_desc; | 21 | struct map_desc; |
17 | struct meminfo; | 22 | struct meminfo; |
18 | struct pglist_data; | 23 | struct pglist_data; |
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index f866bf6b97d4..b7f194af20b4 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -265,7 +265,7 @@ static void __init build_mem_type_table(void) | |||
265 | if (arch_is_coherent()) { | 265 | if (arch_is_coherent()) { |
266 | if (cpu_is_xsc3()) { | 266 | if (cpu_is_xsc3()) { |
267 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; | 267 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; |
268 | mem_types[MT_MEMORY].prot_pte |= L_PTE_COHERENT; | 268 | mem_types[MT_MEMORY].prot_pte |= L_PTE_SHARED; |
269 | } | 269 | } |
270 | } | 270 | } |
271 | 271 | ||
@@ -619,6 +619,13 @@ void __init reserve_node_zero(pg_data_t *pgdat) | |||
619 | if (machine_is_p720t()) | 619 | if (machine_is_p720t()) |
620 | res_size = 0x00014000; | 620 | res_size = 0x00014000; |
621 | 621 | ||
622 | /* H1940 and RX3715 need to reserve this for suspend */ | ||
623 | |||
624 | if (machine_is_h1940() || machine_is_rx3715()) { | ||
625 | reserve_bootmem_node(pgdat, 0x30003000, 0x1000); | ||
626 | reserve_bootmem_node(pgdat, 0x30081000, 0x1000); | ||
627 | } | ||
628 | |||
622 | #ifdef CONFIG_SA1111 | 629 | #ifdef CONFIG_SA1111 |
623 | /* | 630 | /* |
624 | * Because of the SA1111 DMA bug, we want to preserve our | 631 | * Because of the SA1111 DMA bug, we want to preserve our |
diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c index d0e66424a597..05818fc0c705 100644 --- a/arch/arm/mm/nommu.c +++ b/arch/arm/mm/nommu.c | |||
@@ -6,10 +6,12 @@ | |||
6 | #include <linux/module.h> | 6 | #include <linux/module.h> |
7 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
8 | #include <linux/pagemap.h> | 8 | #include <linux/pagemap.h> |
9 | #include <linux/bootmem.h> | ||
9 | 10 | ||
10 | #include <asm/cacheflush.h> | 11 | #include <asm/cacheflush.h> |
11 | #include <asm/io.h> | 12 | #include <asm/io.h> |
12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
14 | #include <asm/mach/arch.h> | ||
13 | 15 | ||
14 | #include "mm.h" | 16 | #include "mm.h" |
15 | 17 | ||
@@ -76,7 +78,7 @@ void __iomem *__ioremap(unsigned long phys_addr, size_t size, | |||
76 | } | 78 | } |
77 | EXPORT_SYMBOL(__ioremap); | 79 | EXPORT_SYMBOL(__ioremap); |
78 | 80 | ||
79 | void __iounmap(void __iomem *addr) | 81 | void __iounmap(volatile void __iomem *addr) |
80 | { | 82 | { |
81 | } | 83 | } |
82 | EXPORT_SYMBOL(__iounmap); | 84 | EXPORT_SYMBOL(__iounmap); |
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S index 1d8316f3cecf..289b8e6f504d 100644 --- a/arch/arm/mm/proc-arm1020.S +++ b/arch/arm/mm/proc-arm1020.S | |||
@@ -29,9 +29,9 @@ | |||
29 | #include <linux/init.h> | 29 | #include <linux/init.h> |
30 | #include <asm/assembler.h> | 30 | #include <asm/assembler.h> |
31 | #include <asm/asm-offsets.h> | 31 | #include <asm/asm-offsets.h> |
32 | #include <asm/elf.h> | ||
32 | #include <asm/pgtable-hwdef.h> | 33 | #include <asm/pgtable-hwdef.h> |
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
34 | #include <asm/procinfo.h> | ||
35 | #include <asm/ptrace.h> | 35 | #include <asm/ptrace.h> |
36 | 36 | ||
37 | #include "proc-macros.S" | 37 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index 89b1d6d3d7c0..bed9db6ba582 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -29,9 +29,9 @@ | |||
29 | #include <linux/init.h> | 29 | #include <linux/init.h> |
30 | #include <asm/assembler.h> | 30 | #include <asm/assembler.h> |
31 | #include <asm/asm-offsets.h> | 31 | #include <asm/asm-offsets.h> |
32 | #include <asm/elf.h> | ||
32 | #include <asm/pgtable-hwdef.h> | 33 | #include <asm/pgtable-hwdef.h> |
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
34 | #include <asm/procinfo.h> | ||
35 | #include <asm/ptrace.h> | 35 | #include <asm/ptrace.h> |
36 | 36 | ||
37 | #include "proc-macros.S" | 37 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index a089528e6bce..d2a7c1b9cab9 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -18,9 +18,9 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <asm/assembler.h> | 19 | #include <asm/assembler.h> |
20 | #include <asm/asm-offsets.h> | 20 | #include <asm/asm-offsets.h> |
21 | #include <asm/elf.h> | ||
21 | #include <asm/pgtable-hwdef.h> | 22 | #include <asm/pgtable-hwdef.h> |
22 | #include <asm/pgtable.h> | 23 | #include <asm/pgtable.h> |
23 | #include <asm/procinfo.h> | ||
24 | #include <asm/ptrace.h> | 24 | #include <asm/ptrace.h> |
25 | 25 | ||
26 | #include "proc-macros.S" | 26 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S index d6d84d92c7c7..3247ce5c0177 100644 --- a/arch/arm/mm/proc-arm1026.S +++ b/arch/arm/mm/proc-arm1026.S | |||
@@ -18,9 +18,9 @@ | |||
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <asm/assembler.h> | 19 | #include <asm/assembler.h> |
20 | #include <asm/asm-offsets.h> | 20 | #include <asm/asm-offsets.h> |
21 | #include <asm/elf.h> | ||
21 | #include <asm/pgtable-hwdef.h> | 22 | #include <asm/pgtable-hwdef.h> |
22 | #include <asm/pgtable.h> | 23 | #include <asm/pgtable.h> |
23 | #include <asm/procinfo.h> | ||
24 | #include <asm/ptrace.h> | 24 | #include <asm/ptrace.h> |
25 | 25 | ||
26 | #include "proc-macros.S" | 26 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index 0432e4806888..ce4f9eef763c 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -15,9 +15,9 @@ | |||
15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
16 | #include <asm/assembler.h> | 16 | #include <asm/assembler.h> |
17 | #include <asm/asm-offsets.h> | 17 | #include <asm/asm-offsets.h> |
18 | #include <asm/elf.h> | ||
18 | #include <asm/pgtable-hwdef.h> | 19 | #include <asm/pgtable-hwdef.h> |
19 | #include <asm/pgtable.h> | 20 | #include <asm/pgtable.h> |
20 | #include <asm/procinfo.h> | ||
21 | #include <asm/ptrace.h> | 21 | #include <asm/ptrace.h> |
22 | 22 | ||
23 | ENTRY(cpu_arm6_dcache_clean_area) | 23 | ENTRY(cpu_arm6_dcache_clean_area) |
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S index c2f0705bfd49..c04c194da785 100644 --- a/arch/arm/mm/proc-arm720.S +++ b/arch/arm/mm/proc-arm720.S | |||
@@ -36,9 +36,9 @@ | |||
36 | #include <linux/init.h> | 36 | #include <linux/init.h> |
37 | #include <asm/assembler.h> | 37 | #include <asm/assembler.h> |
38 | #include <asm/asm-offsets.h> | 38 | #include <asm/asm-offsets.h> |
39 | #include <asm/elf.h> | ||
39 | #include <asm/pgtable-hwdef.h> | 40 | #include <asm/pgtable-hwdef.h> |
40 | #include <asm/pgtable.h> | 41 | #include <asm/pgtable.h> |
41 | #include <asm/procinfo.h> | ||
42 | #include <asm/ptrace.h> | 42 | #include <asm/ptrace.h> |
43 | 43 | ||
44 | #include "proc-macros.S" | 44 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S index 40713818a87b..7069f495cf9b 100644 --- a/arch/arm/mm/proc-arm740.S +++ b/arch/arm/mm/proc-arm740.S | |||
@@ -12,9 +12,9 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <asm/assembler.h> | 13 | #include <asm/assembler.h> |
14 | #include <asm/asm-offsets.h> | 14 | #include <asm/asm-offsets.h> |
15 | #include <asm/elf.h> | ||
15 | #include <asm/pgtable-hwdef.h> | 16 | #include <asm/pgtable-hwdef.h> |
16 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
17 | #include <asm/procinfo.h> | ||
18 | #include <asm/ptrace.h> | 18 | #include <asm/ptrace.h> |
19 | 19 | ||
20 | .text | 20 | .text |
diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S index 22d7e3100ea6..d091c2571823 100644 --- a/arch/arm/mm/proc-arm7tdmi.S +++ b/arch/arm/mm/proc-arm7tdmi.S | |||
@@ -12,9 +12,9 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <asm/assembler.h> | 13 | #include <asm/assembler.h> |
14 | #include <asm/asm-offsets.h> | 14 | #include <asm/asm-offsets.h> |
15 | #include <asm/elf.h> | ||
15 | #include <asm/pgtable-hwdef.h> | 16 | #include <asm/pgtable-hwdef.h> |
16 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
17 | #include <asm/procinfo.h> | ||
18 | #include <asm/ptrace.h> | 18 | #include <asm/ptrace.h> |
19 | 19 | ||
20 | .text | 20 | .text |
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index 4adb46b3a4e0..65cbb2851bff 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -28,9 +28,9 @@ | |||
28 | #include <linux/linkage.h> | 28 | #include <linux/linkage.h> |
29 | #include <linux/init.h> | 29 | #include <linux/init.h> |
30 | #include <asm/assembler.h> | 30 | #include <asm/assembler.h> |
31 | #include <asm/elf.h> | ||
31 | #include <asm/pgtable-hwdef.h> | 32 | #include <asm/pgtable-hwdef.h> |
32 | #include <asm/pgtable.h> | 33 | #include <asm/pgtable.h> |
33 | #include <asm/procinfo.h> | ||
34 | #include <asm/page.h> | 34 | #include <asm/page.h> |
35 | #include <asm/ptrace.h> | 35 | #include <asm/ptrace.h> |
36 | #include "proc-macros.S" | 36 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S index 571f082f0247..52761b70d735 100644 --- a/arch/arm/mm/proc-arm922.S +++ b/arch/arm/mm/proc-arm922.S | |||
@@ -29,9 +29,9 @@ | |||
29 | #include <linux/linkage.h> | 29 | #include <linux/linkage.h> |
30 | #include <linux/init.h> | 30 | #include <linux/init.h> |
31 | #include <asm/assembler.h> | 31 | #include <asm/assembler.h> |
32 | #include <asm/elf.h> | ||
32 | #include <asm/pgtable-hwdef.h> | 33 | #include <asm/pgtable-hwdef.h> |
33 | #include <asm/pgtable.h> | 34 | #include <asm/pgtable.h> |
34 | #include <asm/procinfo.h> | ||
35 | #include <asm/page.h> | 35 | #include <asm/page.h> |
36 | #include <asm/ptrace.h> | 36 | #include <asm/ptrace.h> |
37 | #include "proc-macros.S" | 37 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 8d9a9f93b011..5b74339d1588 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -52,9 +52,9 @@ | |||
52 | #include <linux/linkage.h> | 52 | #include <linux/linkage.h> |
53 | #include <linux/init.h> | 53 | #include <linux/init.h> |
54 | #include <asm/assembler.h> | 54 | #include <asm/assembler.h> |
55 | #include <asm/elf.h> | ||
55 | #include <asm/pgtable-hwdef.h> | 56 | #include <asm/pgtable-hwdef.h> |
56 | #include <asm/pgtable.h> | 57 | #include <asm/pgtable.h> |
57 | #include <asm/procinfo.h> | ||
58 | #include <asm/page.h> | 58 | #include <asm/page.h> |
59 | #include <asm/ptrace.h> | 59 | #include <asm/ptrace.h> |
60 | #include "proc-macros.S" | 60 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 44a7a652d625..8628ed29a955 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -28,9 +28,9 @@ | |||
28 | #include <linux/linkage.h> | 28 | #include <linux/linkage.h> |
29 | #include <linux/init.h> | 29 | #include <linux/init.h> |
30 | #include <asm/assembler.h> | 30 | #include <asm/assembler.h> |
31 | #include <asm/elf.h> | ||
31 | #include <asm/pgtable-hwdef.h> | 32 | #include <asm/pgtable-hwdef.h> |
32 | #include <asm/pgtable.h> | 33 | #include <asm/pgtable.h> |
33 | #include <asm/procinfo.h> | ||
34 | #include <asm/page.h> | 34 | #include <asm/page.h> |
35 | #include <asm/ptrace.h> | 35 | #include <asm/ptrace.h> |
36 | #include "proc-macros.S" | 36 | #include "proc-macros.S" |
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S index 2397f4b6e151..786c593778f0 100644 --- a/arch/arm/mm/proc-arm940.S +++ b/arch/arm/mm/proc-arm940.S | |||
@@ -11,9 +11,9 @@ | |||
11 | #include <linux/linkage.h> | 11 | #include <linux/linkage.h> |
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <asm/assembler.h> | 13 | #include <asm/assembler.h> |
14 | #include <asm/elf.h> | ||
14 | #include <asm/pgtable-hwdef.h> | 15 | #include <asm/pgtable-hwdef.h> |
15 | #include <asm/pgtable.h> | 16 | #include <asm/pgtable.h> |
16 | #include <asm/procinfo.h> | ||
17 | #include <asm/ptrace.h> | 17 | #include <asm/ptrace.h> |
18 | 18 | ||
19 | /* ARM940T has a 4KB DCache comprising 256 lines of 4 words */ | 19 | /* ARM940T has a 4KB DCache comprising 256 lines of 4 words */ |
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S index e18617564421..a60c1421d450 100644 --- a/arch/arm/mm/proc-arm946.S +++ b/arch/arm/mm/proc-arm946.S | |||
@@ -13,9 +13,9 @@ | |||
13 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <asm/assembler.h> | 15 | #include <asm/assembler.h> |
16 | #include <asm/elf.h> | ||
16 | #include <asm/pgtable-hwdef.h> | 17 | #include <asm/pgtable-hwdef.h> |
17 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
18 | #include <asm/procinfo.h> | ||
19 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
20 | 20 | ||
21 | /* | 21 | /* |
diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S index 918ebf65d4f6..4848eeac86b6 100644 --- a/arch/arm/mm/proc-arm9tdmi.S +++ b/arch/arm/mm/proc-arm9tdmi.S | |||
@@ -12,9 +12,9 @@ | |||
12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
13 | #include <asm/assembler.h> | 13 | #include <asm/assembler.h> |
14 | #include <asm/asm-offsets.h> | 14 | #include <asm/asm-offsets.h> |
15 | #include <asm/elf.h> | ||
15 | #include <asm/pgtable-hwdef.h> | 16 | #include <asm/pgtable-hwdef.h> |
16 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
17 | #include <asm/procinfo.h> | ||
18 | #include <asm/ptrace.h> | 18 | #include <asm/ptrace.h> |
19 | 19 | ||
20 | .text | 20 | .text |
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S index c878064e9b88..cd7d865c9d19 100644 --- a/arch/arm/mm/proc-sa110.S +++ b/arch/arm/mm/proc-sa110.S | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <asm/assembler.h> | 18 | #include <asm/assembler.h> |
19 | #include <asm/asm-offsets.h> | 19 | #include <asm/asm-offsets.h> |
20 | #include <asm/procinfo.h> | 20 | #include <asm/elf.h> |
21 | #include <asm/hardware.h> | 21 | #include <asm/hardware.h> |
22 | #include <asm/pgtable-hwdef.h> | 22 | #include <asm/pgtable-hwdef.h> |
23 | #include <asm/pgtable.h> | 23 | #include <asm/pgtable.h> |
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index b23b66a6155a..b776653cc31c 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <asm/assembler.h> | 23 | #include <asm/assembler.h> |
24 | #include <asm/asm-offsets.h> | 24 | #include <asm/asm-offsets.h> |
25 | #include <asm/procinfo.h> | 25 | #include <asm/elf.h> |
26 | #include <asm/hardware.h> | 26 | #include <asm/hardware.h> |
27 | #include <asm/pgtable-hwdef.h> | 27 | #include <asm/pgtable-hwdef.h> |
28 | #include <asm/pgtable.h> | 28 | #include <asm/pgtable.h> |
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index 6f72549f8843..b440c8a1d345 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
14 | #include <asm/assembler.h> | 14 | #include <asm/assembler.h> |
15 | #include <asm/asm-offsets.h> | 15 | #include <asm/asm-offsets.h> |
16 | #include <asm/elf.h> | ||
16 | #include <asm/hardware/arm_scu.h> | 17 | #include <asm/hardware/arm_scu.h> |
17 | #include <asm/procinfo.h> | ||
18 | #include <asm/pgtable-hwdef.h> | 18 | #include <asm/pgtable-hwdef.h> |
19 | #include <asm/pgtable.h> | 19 | #include <asm/pgtable.h> |
20 | 20 | ||
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 4ace2d8090c7..1ef564d0957f 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/linkage.h> | 27 | #include <linux/linkage.h> |
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <asm/assembler.h> | 29 | #include <asm/assembler.h> |
30 | #include <asm/procinfo.h> | 30 | #include <asm/elf.h> |
31 | #include <asm/hardware.h> | 31 | #include <asm/hardware.h> |
32 | #include <asm/pgtable.h> | 32 | #include <asm/pgtable.h> |
33 | #include <asm/pgtable-hwdef.h> | 33 | #include <asm/pgtable-hwdef.h> |
@@ -57,11 +57,6 @@ | |||
57 | #define L2_CACHE_ENABLE 1 | 57 | #define L2_CACHE_ENABLE 1 |
58 | 58 | ||
59 | /* | 59 | /* |
60 | * Enable the Branch Target Buffer (can cause crashes, see erratum #42.) | ||
61 | */ | ||
62 | #define BTB_ENABLE 0 | ||
63 | |||
64 | /* | ||
65 | * This macro is used to wait for a CP15 write and is needed | 60 | * This macro is used to wait for a CP15 write and is needed |
66 | * when we have to ensure that the last operation to the co-pro | 61 | * when we have to ensure that the last operation to the co-pro |
67 | * was completed before continuing with operation. | 62 | * was completed before continuing with operation. |
@@ -371,8 +366,10 @@ ENTRY(cpu_xsc3_switch_mm) | |||
371 | ENTRY(cpu_xsc3_set_pte) | 366 | ENTRY(cpu_xsc3_set_pte) |
372 | str r1, [r0], #-2048 @ linux version | 367 | str r1, [r0], #-2048 @ linux version |
373 | 368 | ||
374 | bic r2, r1, #0xdf0 @ Keep C, B, coherency bits | 369 | bic r2, r1, #0xff0 @ Keep C, B bits |
375 | orr r2, r2, #PTE_TYPE_EXT @ extended page | 370 | orr r2, r2, #PTE_TYPE_EXT @ extended page |
371 | tst r1, #L_PTE_SHARED @ Shared? | ||
372 | orrne r2, r2, #0x200 | ||
376 | 373 | ||
377 | eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY | 374 | eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY |
378 | 375 | ||
@@ -432,9 +429,7 @@ __xsc3_setup: | |||
432 | mrc p15, 0, r0, c1, c0, 0 @ get control register | 429 | mrc p15, 0, r0, c1, c0, 0 @ get control register |
433 | bic r0, r0, r5 @ .... .... .... ..A. | 430 | bic r0, r0, r5 @ .... .... .... ..A. |
434 | orr r0, r0, r6 @ .... .... .... .C.M | 431 | orr r0, r0, r6 @ .... .... .... .C.M |
435 | #if BTB_ENABLE | ||
436 | orr r0, r0, #0x00000800 @ ..VI Z..S .... .... | 432 | orr r0, r0, #0x00000800 @ ..VI Z..S .... .... |
437 | #endif | ||
438 | #if L2_CACHE_ENABLE | 433 | #if L2_CACHE_ENABLE |
439 | orr r0, r0, #0x04000000 @ L2 enable | 434 | orr r0, r0, #0x04000000 @ L2 enable |
440 | #endif | 435 | #endif |
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index 2749c1f88d7d..cc1004b3e511 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/linkage.h> | 23 | #include <linux/linkage.h> |
24 | #include <linux/init.h> | 24 | #include <linux/init.h> |
25 | #include <asm/assembler.h> | 25 | #include <asm/assembler.h> |
26 | #include <asm/procinfo.h> | 26 | #include <asm/elf.h> |
27 | #include <asm/pgtable.h> | 27 | #include <asm/pgtable.h> |
28 | #include <asm/pgtable-hwdef.h> | 28 | #include <asm/pgtable-hwdef.h> |
29 | #include <asm/page.h> | 29 | #include <asm/page.h> |
@@ -491,12 +491,7 @@ __xscale_setup: | |||
491 | mcr p15, 0, ip, c7, c7, 0 @ invalidate I, D caches & BTB | 491 | mcr p15, 0, ip, c7, c7, 0 @ invalidate I, D caches & BTB |
492 | mcr p15, 0, ip, c7, c10, 4 @ Drain Write (& Fill) Buffer | 492 | mcr p15, 0, ip, c7, c10, 4 @ Drain Write (& Fill) Buffer |
493 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I, D TLBs | 493 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I, D TLBs |
494 | #ifdef CONFIG_IWMMXT | 494 | mov r0, #1 << 6 @ cp6 for IOP3xx and Bulverde |
495 | mov r0, #0 @ initially disallow access to CP0/CP1 | ||
496 | #else | ||
497 | mov r0, #1 @ Allow access to CP0 | ||
498 | #endif | ||
499 | orr r0, r0, #1 << 6 @ cp6 for IOP3xx and Bulverde | ||
500 | orr r0, r0, #1 << 13 @ Its undefined whether this | 495 | orr r0, r0, #1 << 13 @ Its undefined whether this |
501 | mcr p15, 0, r0, c15, c1, 0 @ affects USR or SVC modes | 496 | mcr p15, 0, r0, c15, c1, 0 @ affects USR or SVC modes |
502 | 497 | ||
@@ -909,7 +904,7 @@ __pxa270_proc_info: | |||
909 | b __xscale_setup | 904 | b __xscale_setup |
910 | .long cpu_arch_name | 905 | .long cpu_arch_name |
911 | .long cpu_elf_name | 906 | .long cpu_elf_name |
912 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_IWMMXT | 907 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP |
913 | .long cpu_pxa270_name | 908 | .long cpu_pxa270_name |
914 | .long xscale_processor_functions | 909 | .long xscale_processor_functions |
915 | .long v4wbi_tlb_fns | 910 | .long v4wbi_tlb_fns |