@@ -203,104 +203,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
203
203
#include <asm-generic/cmpxchg.h>
204
204
#endif
205
205
206
- #if defined( CONFIG_M68328 ) || defined( CONFIG_M68EZ328 ) || \
207
- defined (CONFIG_M68360 ) || defined( CONFIG_M68VZ328 )
208
- #define HARD_RESET_NOW () ({ \
209
- local_irq_disable(); \
210
- asm(" \
211
- moveal #0x10c00000, %a0; \
212
- moveb #0, 0xFFFFF300; \
213
- moveal 0(%a0), %sp; \
214
- moveal 4(%a0), %a0; \
215
- jmp (%a0); \
216
- "); \
217
- })
218
- #endif
219
-
220
- #ifdef CONFIG_COLDFIRE
221
- #if defined(CONFIG_M5272 ) && defined(CONFIG_NETtel )
222
- /*
223
- * Need to account for broken early mask of 5272 silicon. So don't
224
- * jump through the original start address. Jump strait into the
225
- * known start of the FLASH code.
226
- */
227
- #define HARD_RESET_NOW () ({ \
228
- asm(" \
229
- movew #0x2700, %sr; \
230
- jmp 0xf0000400; \
231
- "); \
232
- })
233
- #elif defined(CONFIG_NETtel ) || \
234
- defined(CONFIG_SECUREEDGEMP3 ) || defined(CONFIG_CLEOPATRA )
235
- #define HARD_RESET_NOW () ({ \
236
- asm(" \
237
- movew #0x2700, %sr; \
238
- moveal #0x10000044, %a0; \
239
- movel #0xffffffff, (%a0); \
240
- moveal #0x10000001, %a0; \
241
- moveb #0x00, (%a0); \
242
- moveal #0xf0000004, %a0; \
243
- moveal (%a0), %a0; \
244
- jmp (%a0); \
245
- "); \
246
- })
247
- #elif defined(CONFIG_M5272 )
248
- /*
249
- * Retrieve the boot address in flash using CSBR0 and CSOR0
250
- * find the reset vector at flash_address + 4 (e.g. 0x400)
251
- * remap it in the flash's current location (e.g. 0xf0000400)
252
- * and jump there.
253
- */
254
- #define HARD_RESET_NOW () ({ \
255
- asm(" \
256
- movew #0x2700, %%sr; \
257
- move.l %0+0x40,%%d0; \
258
- and.l %0+0x44,%%d0; \
259
- andi.l #0xfffff000,%%d0; \
260
- mov.l %%d0,%%a0; \
261
- or.l 4(%%a0),%%d0; \
262
- mov.l %%d0,%%a0; \
263
- jmp (%%a0);" \
264
- : /* No output */ \
265
- : "o " (*(char *)MCF_MBAR) ); \
266
- })
267
- #elif defined(CONFIG_M523x ) || defined(CONFIG_M528x ) || defined(CONFIG_M527x )
268
- /*
269
- * Most of the newer ColdFire family members have a proper RESET unit.
270
- * Use the software reset control bit in the Reset Control Register (RCR).
271
- */
272
- #define HARD_RESET_NOW () \
273
- ({ \
274
- unsigned char volatile *reset; \
275
- asm("move.w #0x2700, %sr"); \
276
- reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \
277
- while (1) \
278
- *reset |= 0x80; \
279
- })
280
- #elif defined(CONFIG_M520x )
281
- /*
282
- * The MCF5208 has a bit (SOFTRST) in memory (Reset Control Register
283
- * RCR), that when set, resets the MCF5208.
284
- */
285
- #define HARD_RESET_NOW () \
286
- ({ \
287
- unsigned char volatile *reset; \
288
- asm("move.w #0x2700, %sr"); \
289
- reset = ((volatile unsigned char *)(MCF_IPSBAR + 0xA0000)); \
290
- while(1) \
291
- *reset |= 0x80; \
292
- })
293
- #else
294
- #define HARD_RESET_NOW () ({ \
295
- asm(" \
296
- movew #0x2700, %sr; \
297
- moveal #0x4, %a0; \
298
- moveal (%a0), %a0; \
299
- jmp (%a0); \
300
- "); \
301
- })
302
- #endif
303
- #endif
304
206
#define arch_align_stack (x ) (x)
305
207
306
208
0 commit comments