• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  *
8  * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
9  * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
10  * Copyright (C) 1999 Silicon Graphics, Inc.
11  */
12 #include <linux/init.h>
13 #include <linux/kernel.h>
14 
15 #include <asm/bcache.h>
16 
17 #include <asm/fw/arc/types.h>
18 #include <asm/sgialib.h>
19 #include <asm/bootinfo.h>
20 #include <asm/system.h>
21 
22 VOID
ArcHalt(VOID)23 ArcHalt(VOID)
24 {
25 	bc_disable();
26 	local_irq_disable();
27 	ARC_CALL0(halt);
28 never:	goto never;
29 }
30 
31 VOID
ArcPowerDown(VOID)32 ArcPowerDown(VOID)
33 {
34 	bc_disable();
35 	local_irq_disable();
36 	ARC_CALL0(pdown);
37 never:	goto never;
38 }
39 
40 /* XXX is this a soft reset basically? XXX */
41 VOID
ArcRestart(VOID)42 ArcRestart(VOID)
43 {
44 	bc_disable();
45 	local_irq_disable();
46 	ARC_CALL0(restart);
47 never:	goto never;
48 }
49 
50 VOID
ArcReboot(VOID)51 ArcReboot(VOID)
52 {
53 	bc_disable();
54 	local_irq_disable();
55 	ARC_CALL0(reboot);
56 never:	goto never;
57 }
58 
59 VOID
ArcEnterInteractiveMode(VOID)60 ArcEnterInteractiveMode(VOID)
61 {
62 	bc_disable();
63 	local_irq_disable();
64 	ARC_CALL0(imode);
65 never:	goto never;
66 }
67 
68 LONG
ArcSaveConfiguration(VOID)69 ArcSaveConfiguration(VOID)
70 {
71 	return ARC_CALL0(cfg_save);
72 }
73 
74 struct linux_sysid *
ArcGetSystemId(VOID)75 ArcGetSystemId(VOID)
76 {
77 	return (struct linux_sysid *) ARC_CALL0(get_sysid);
78 }
79 
80 VOID __init
ArcFlushAllCaches(VOID)81 ArcFlushAllCaches(VOID)
82 {
83 	ARC_CALL0(cache_flush);
84 }
85 
ArcGetDisplayStatus(ULONG FileID)86 DISPLAY_STATUS * __init ArcGetDisplayStatus(ULONG FileID)
87 {
88 	return (DISPLAY_STATUS *) ARC_CALL1(GetDisplayStatus, FileID);
89 }
90