diff options
author | Mike Frysinger <michael.frysinger@analog.com> | 2007-07-24 23:19:14 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-07-24 23:19:14 -0400 |
commit | 1aafd9091226a02b481298315f959f777294684e (patch) | |
tree | b09e0aaabb6aacd882499a69b28638cbd669dbba /arch/blackfin/mach-common | |
parent | 287050fe13bf34824f03b4351002b0e2db4ee5cb (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.S | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-common/cplbmgr.S | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-common/entry.S | 10 | ||||
-rw-r--r-- | arch/blackfin/mach-common/interrupt.S | 6 |
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) |
43 | ENTRY(_bfin_write_IMEM_CONTROL) | 43 | ENTRY(_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 | */ |
71 | ENTRY(_ex_dcplb) | 71 | ENTRY(_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) | |||
648 | ENDPROC(_return_from_int) | 648 | ENDPROC(_return_from_int) |
649 | 649 | ||
650 | ENTRY(_lower_to_irq14) | 650 | ENTRY(_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; |