aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-07-24 23:19:14 -0400
committerBryan Wu <bryan.wu@analog.com>2007-07-24 23:19:14 -0400
commit1aafd9091226a02b481298315f959f777294684e (patch)
treeb09e0aaabb6aacd882499a69b28638cbd669dbba /arch/blackfin/mach-common
parent287050fe13bf34824f03b4351002b0e2db4ee5cb (diff)
Blackfin arch: revise anomaly handling by basing things on the compiler not the kconfig defines
revise anomaly handling by basing things on the compiler not the kconfig defines, so the header is stable and usable outside of the kernel. This also allows us to move some code from preprocessing to compiling (gcc culls dead code) which should help with code quality (readability, catch minor bugs, etc...). Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r--arch/blackfin/mach-common/cacheinit.S2
-rw-r--r--arch/blackfin/mach-common/cplbmgr.S2
-rw-r--r--arch/blackfin/mach-common/entry.S10
-rw-r--r--arch/blackfin/mach-common/interrupt.S6
4 files changed, 10 insertions, 10 deletions
diff --git a/arch/blackfin/mach-common/cacheinit.S b/arch/blackfin/mach-common/cacheinit.S
index 5be6b975ae4a..05c0c77510b2 100644
--- a/arch/blackfin/mach-common/cacheinit.S
+++ b/arch/blackfin/mach-common/cacheinit.S
@@ -38,7 +38,7 @@
38 38
39.text 39.text
40 40
41#ifdef ANOMALY_05000125 41#if ANOMALY_05000125
42#if defined(CONFIG_BLKFIN_CACHE) 42#if defined(CONFIG_BLKFIN_CACHE)
43ENTRY(_bfin_write_IMEM_CONTROL) 43ENTRY(_bfin_write_IMEM_CONTROL)
44 44
diff --git a/arch/blackfin/mach-common/cplbmgr.S b/arch/blackfin/mach-common/cplbmgr.S
index e4b47e09cf13..6c256baf087d 100644
--- a/arch/blackfin/mach-common/cplbmgr.S
+++ b/arch/blackfin/mach-common/cplbmgr.S
@@ -405,7 +405,7 @@ ENTRY(_cplb_mgr)
405 P3.L = _page_size_table; /* retrieve end address */ 405 P3.L = _page_size_table; /* retrieve end address */
406 P3.H = _page_size_table; /* retrieve end address */ 406 P3.H = _page_size_table; /* retrieve end address */
407 R3 = 0x1002; /* 16th - position, 2 bits -length */ 407 R3 = 0x1002; /* 16th - position, 2 bits -length */
408#ifdef ANOMALY_05000209 408#if ANOMALY_05000209
409 nop; /* Anomaly 05000209 */ 409 nop; /* Anomaly 05000209 */
410#endif 410#endif
411 R7 = EXTRACT(R1,R3.l); 411 R7 = EXTRACT(R1,R3.l);
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index 960458808344..207e69786b40 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -69,7 +69,7 @@
69 * patch up CPLB misses on the kernel stack. 69 * patch up CPLB misses on the kernel stack.
70 */ 70 */
71ENTRY(_ex_dcplb) 71ENTRY(_ex_dcplb)
72#if defined(ANOMALY_05000261) 72#if ANOMALY_05000261
73 /* 73 /*
74 * Work around an anomaly: if we see a new DCPLB fault, return 74 * Work around an anomaly: if we see a new DCPLB fault, return
75 * without doing anything. Then, if we get the same fault again, 75 * without doing anything. Then, if we get the same fault again,
@@ -137,7 +137,7 @@ ENTRY(_ex_single_step)
137 137
138_return_from_exception: 138_return_from_exception:
139 DEBUG_START_HWTRACE(p5, r7) 139 DEBUG_START_HWTRACE(p5, r7)
140#ifdef ANOMALY_05000257 140#if ANOMALY_05000257
141 R7=LC0; 141 R7=LC0;
142 LC0=R7; 142 LC0=R7;
143 R7=LC1; 143 R7=LC1;
@@ -634,7 +634,7 @@ ENTRY(_return_from_int)
634 p1.h = _schedule_and_signal_from_int; 634 p1.h = _schedule_and_signal_from_int;
635 [p0] = p1; 635 [p0] = p1;
636 csync; 636 csync;
637#if defined(ANOMALY_05000281) 637#if ANOMALY_05000281
638 r0.l = lo(CONFIG_BOOT_LOAD); 638 r0.l = lo(CONFIG_BOOT_LOAD);
639 r0.h = hi(CONFIG_BOOT_LOAD); 639 r0.h = hi(CONFIG_BOOT_LOAD);
640 reti = r0; 640 reti = r0;
@@ -648,7 +648,7 @@ ENTRY(_return_from_int)
648ENDPROC(_return_from_int) 648ENDPROC(_return_from_int)
649 649
650ENTRY(_lower_to_irq14) 650ENTRY(_lower_to_irq14)
651#if defined(ANOMALY_05000281) 651#if ANOMALY_05000281
652 r0.l = lo(CONFIG_BOOT_LOAD); 652 r0.l = lo(CONFIG_BOOT_LOAD);
653 r0.h = hi(CONFIG_BOOT_LOAD); 653 r0.h = hi(CONFIG_BOOT_LOAD);
654 reti = r0; 654 reti = r0;
@@ -1184,7 +1184,7 @@ _exception_stack:
1184 .endr 1184 .endr
1185_exception_stack_top: 1185_exception_stack_top:
1186 1186
1187#if defined(ANOMALY_05000261) 1187#if ANOMALY_05000261
1188/* Used by the assembly entry point to work around an anomaly. */ 1188/* Used by the assembly entry point to work around an anomaly. */
1189_last_cplb_fault_retx: 1189_last_cplb_fault_retx:
1190 .long 0; 1190 .long 0;
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index 203e20709163..14ef800a564d 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -140,7 +140,7 @@ __common_int_entry:
140 fp = 0; 140 fp = 0;
141#endif 141#endif
142 142
143#if defined (ANOMALY_05000283) || defined (ANOMALY_05000315) 143#if ANOMALY_05000283 || ANOMALY_05000315
144 cc = r7 == r7; 144 cc = r7 == r7;
145 p5.h = 0xffc0; 145 p5.h = 0xffc0;
146 p5.l = 0x0014; 146 p5.l = 0x0014;
@@ -163,7 +163,7 @@ ENTRY(_evt_ivhw)
163#ifdef CONFIG_FRAME_POINTER 163#ifdef CONFIG_FRAME_POINTER
164 fp = 0; 164 fp = 0;
165#endif 165#endif
166#ifdef ANOMALY_05000283 166#if ANOMALY_05000283
167 cc = r7 == r7; 167 cc = r7 == r7;
168 p5.h = 0xffc0; 168 p5.h = 0xffc0;
169 p5.l = 0x0014; 169 p5.l = 0x0014;
@@ -207,7 +207,7 @@ ENTRY(_evt_evt2)
207#ifdef CONFIG_FRAME_POINTER 207#ifdef CONFIG_FRAME_POINTER
208 fp = 0; 208 fp = 0;
209#endif 209#endif
210#ifdef ANOMALY_05000283 210#if ANOMALY_05000283
211 cc = r7 == r7; 211 cc = r7 == r7;
212 p5.h = 0xffc0; 212 p5.h = 0xffc0;
213 p5.l = 0x0014; 213 p5.l = 0x0014;