]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * This file is subject to the terms and conditions of the GNU General Public | |
3 | * License. See the file "COPYING" in the main directory of this archive | |
4 | * for more details. | |
5 | * | |
6 | * Miscellaneous ARCS PROM routines. | |
7 | * | |
79add627 | 8 | * Copyright (C) 1996 David S. Miller (davem@davemloft.net) |
1da177e4 LT |
9 | * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) |
10 | * Copyright (C) 1999 Silicon Graphics, Inc. | |
11 | */ | |
1da177e4 LT |
12 | #include <linux/init.h> |
13 | #include <linux/kernel.h> | |
14 | ||
15 | #include <asm/bcache.h> | |
16 | ||
2f56cfdd | 17 | #include <asm/fw/arc/types.h> |
1da177e4 LT |
18 | #include <asm/sgialib.h> |
19 | #include <asm/bootinfo.h> | |
20 | #include <asm/system.h> | |
21 | ||
1da177e4 LT |
22 | VOID |
23 | ArcHalt(VOID) | |
24 | { | |
25 | bc_disable(); | |
26 | local_irq_disable(); | |
1da177e4 LT |
27 | ARC_CALL0(halt); |
28 | never: goto never; | |
29 | } | |
30 | ||
31 | VOID | |
32 | ArcPowerDown(VOID) | |
33 | { | |
34 | bc_disable(); | |
35 | local_irq_disable(); | |
1da177e4 LT |
36 | ARC_CALL0(pdown); |
37 | never: goto never; | |
38 | } | |
39 | ||
40 | /* XXX is this a soft reset basically? XXX */ | |
41 | VOID | |
42 | ArcRestart(VOID) | |
43 | { | |
44 | bc_disable(); | |
45 | local_irq_disable(); | |
1da177e4 LT |
46 | ARC_CALL0(restart); |
47 | never: goto never; | |
48 | } | |
49 | ||
50 | VOID | |
51 | ArcReboot(VOID) | |
52 | { | |
53 | bc_disable(); | |
54 | local_irq_disable(); | |
1da177e4 LT |
55 | ARC_CALL0(reboot); |
56 | never: goto never; | |
57 | } | |
58 | ||
59 | VOID | |
60 | ArcEnterInteractiveMode(VOID) | |
61 | { | |
62 | bc_disable(); | |
63 | local_irq_disable(); | |
1da177e4 LT |
64 | ARC_CALL0(imode); |
65 | never: goto never; | |
66 | } | |
67 | ||
68 | LONG | |
69 | ArcSaveConfiguration(VOID) | |
70 | { | |
71 | return ARC_CALL0(cfg_save); | |
72 | } | |
73 | ||
74 | struct linux_sysid * | |
75 | ArcGetSystemId(VOID) | |
76 | { | |
77 | return (struct linux_sysid *) ARC_CALL0(get_sysid); | |
78 | } | |
79 | ||
80 | VOID __init | |
81 | ArcFlushAllCaches(VOID) | |
82 | { | |
83 | ARC_CALL0(cache_flush); | |
84 | } | |
85 | ||
86 | DISPLAY_STATUS * __init ArcGetDisplayStatus(ULONG FileID) | |
87 | { | |
88 | return (DISPLAY_STATUS *) ARC_CALL1(GetDisplayStatus, FileID); | |
89 | } |