Import 2.3.16
[davej-history.git] / include / asm-arm / arch-arc / system.h
blob068c968cce0693cc515de6b4d523580103acc858
1 /*
2 * linux/include/asm-arm/arch-arc/system.h
4 * Copyright (c) 1996 Russell King and Dave Gilbert
5 */
6 #ifndef __ASM_ARCH_SYSTEM_H
7 #define __ASM_ARCH_SYSTEM_H
9 #include <linux/config.h>
11 #ifdef CONFIG_ARCH_ARC
13 #define cliIF() \
14 do { \
15 unsigned long temp; \
16 __asm__ __volatile__( \
17 " mov %0, pc\n" \
18 " orr %0, %0, #0x0c000000\n" \
19 " teqp %0, #0\n" \
20 : "=r" (temp) \
21 : ); \
22 } while(0)
24 #endif
26 extern __inline__ void arch_reset(char mode)
28 extern void ecard_reset(int card);
31 * Do any cleanups that the processor may require
33 cpu_proc_fin();
36 * Reset all expansion cards.
38 ecard_reset(-1);
41 * copy branch instruction to reset location and call it
43 *(unsigned long *)0 = *(unsigned long *)0x03800000;
44 ((void(*)(void))0)();
47 #endif