aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/glue.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-10-02 19:20:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-02 19:20:43 -0400
commita037a79dceaf717409fbf42f4ad209b9c15f435c (patch)
treec30b5b033c74ab9470e875554bded16464bbdf9b /arch/arm/include/asm/glue.h
parent90d5ffc729e92bffc0f84e2447e2e6dc280240a5 (diff)
parentd25ef8b86e6a58f5476bf6e4a8da730b335f68fa (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (25 commits) ARM: 5728/1: Proper prefetch abort handling on ARMv6 and ARMv7 ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() ARM: 5740/1: fix valid_phys_addr_range() range check ARM: 5739/1: ARM: allow empty ATAG_CORE ARM: 5735/1: sa1111: CodingStyle cleanups ARM: 5738/1: Correct TCM documentation ARM: 5734/1: arm: fix compilation of entry-common.S for older CPUs ARM: 5733/1: fix bcmring compile error ARM: 5732/1: remove redundant include file ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3 ARM: Ensure do_cache_op takes mmap_sem ARM: Fix __cpuexit section mismatch warnings ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcast ARM: includecheck fix: mach-davinci, board-dm365-evm.c ARM: Remove unused CONFIG SA1100_H3XXX ARM: Fix warning: unused variable 'highmem' ARM: Fix warning: #warning syscall migrate_pages not implemented ARM: Fix SA11x0 clocksource warning ARM: Fix SA1100 Neponset serial section mismatch ARM: Fix SA1100 Assabet/Neponset PCMCIA section mismatch warnings ...
Diffstat (limited to 'arch/arm/include/asm/glue.h')
-rw-r--r--arch/arm/include/asm/glue.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/arch/arm/include/asm/glue.h b/arch/arm/include/asm/glue.h
index a0e39d5d00c..234a3fc1c78 100644
--- a/arch/arm/include/asm/glue.h
+++ b/arch/arm/include/asm/glue.h
@@ -120,25 +120,39 @@
120#endif 120#endif
121 121
122/* 122/*
123 * Prefetch abort handler. If the CPU has an IFAR use that, otherwise 123 * Prefetch Abort Model
124 * use the address of the aborted instruction 124 * ================
125 *
126 * We have the following to choose from:
127 * legacy - no IFSR, no IFAR
128 * v6 - ARMv6: IFSR, no IFAR
129 * v7 - ARMv7: IFSR and IFAR
125 */ 130 */
131
126#undef CPU_PABORT_HANDLER 132#undef CPU_PABORT_HANDLER
127#undef MULTI_PABORT 133#undef MULTI_PABORT
128 134
129#ifdef CONFIG_CPU_PABRT_IFAR 135#ifdef CONFIG_CPU_PABRT_LEGACY
136# ifdef CPU_PABORT_HANDLER
137# define MULTI_PABORT 1
138# else
139# define CPU_PABORT_HANDLER legacy_pabort
140# endif
141#endif
142
143#ifdef CONFIG_CPU_PABRT_V6
130# ifdef CPU_PABORT_HANDLER 144# ifdef CPU_PABORT_HANDLER
131# define MULTI_PABORT 1 145# define MULTI_PABORT 1
132# else 146# else
133# define CPU_PABORT_HANDLER(reg, insn) mrc p15, 0, reg, cr6, cr0, 2 147# define CPU_PABORT_HANDLER v6_pabort
134# endif 148# endif
135#endif 149#endif
136 150
137#ifdef CONFIG_CPU_PABRT_NOIFAR 151#ifdef CONFIG_CPU_PABRT_V7
138# ifdef CPU_PABORT_HANDLER 152# ifdef CPU_PABORT_HANDLER
139# define MULTI_PABORT 1 153# define MULTI_PABORT 1
140# else 154# else
141# define CPU_PABORT_HANDLER(reg, insn) mov reg, insn 155# define CPU_PABORT_HANDLER v7_pabort
142# endif 156# endif
143#endif 157#endif
144 158