diff options
Diffstat (limited to 'include/asm-sparc64/oplib.h')
-rw-r--r-- | include/asm-sparc64/oplib.h | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/include/asm-sparc64/oplib.h b/include/asm-sparc64/oplib.h index 3c59b2693fb9..c754676e13ef 100644 --- a/include/asm-sparc64/oplib.h +++ b/include/asm-sparc64/oplib.h | |||
@@ -12,18 +12,8 @@ | |||
12 | #include <linux/config.h> | 12 | #include <linux/config.h> |
13 | #include <asm/openprom.h> | 13 | #include <asm/openprom.h> |
14 | 14 | ||
15 | /* Enumeration to describe the prom major version we have detected. */ | 15 | /* OBP version string. */ |
16 | enum prom_major_version { | 16 | extern char prom_version[]; |
17 | PROM_V0, /* Original sun4c V0 prom */ | ||
18 | PROM_V2, /* sun4c and early sun4m V2 prom */ | ||
19 | PROM_V3, /* sun4m and later, up to sun4d/sun4e machines V3 */ | ||
20 | PROM_P1275, /* IEEE compliant ISA based Sun PROM, only sun4u */ | ||
21 | PROM_AP1000, /* actually no prom at all */ | ||
22 | }; | ||
23 | |||
24 | extern enum prom_major_version prom_vers; | ||
25 | /* Revision, and firmware revision. */ | ||
26 | extern unsigned int prom_rev, prom_prev; | ||
27 | 17 | ||
28 | /* Root node of the prom device tree, this stays constant after | 18 | /* Root node of the prom device tree, this stays constant after |
29 | * initialization is complete. | 19 | * initialization is complete. |
@@ -39,6 +29,9 @@ extern int prom_stdin, prom_stdout; | |||
39 | extern int prom_chosen_node; | 29 | extern int prom_chosen_node; |
40 | 30 | ||
41 | /* Helper values and strings in arch/sparc64/kernel/head.S */ | 31 | /* Helper values and strings in arch/sparc64/kernel/head.S */ |
32 | extern const char prom_peer_name[]; | ||
33 | extern const char prom_compatible_name[]; | ||
34 | extern const char prom_root_compatible[]; | ||
42 | extern const char prom_finddev_name[]; | 35 | extern const char prom_finddev_name[]; |
43 | extern const char prom_chosen_path[]; | 36 | extern const char prom_chosen_path[]; |
44 | extern const char prom_getprop_name[]; | 37 | extern const char prom_getprop_name[]; |
@@ -130,15 +123,6 @@ extern void prom_setcallback(callback_func_t func_ptr); | |||
130 | */ | 123 | */ |
131 | extern unsigned char prom_get_idprom(char *idp_buffer, int idpbuf_size); | 124 | extern unsigned char prom_get_idprom(char *idp_buffer, int idpbuf_size); |
132 | 125 | ||
133 | /* Get the prom major version. */ | ||
134 | extern int prom_version(void); | ||
135 | |||
136 | /* Get the prom plugin revision. */ | ||
137 | extern int prom_getrev(void); | ||
138 | |||
139 | /* Get the prom firmware revision. */ | ||
140 | extern int prom_getprev(void); | ||
141 | |||
142 | /* Character operations to/from the console.... */ | 126 | /* Character operations to/from the console.... */ |
143 | 127 | ||
144 | /* Non-blocking get character from console. */ | 128 | /* Non-blocking get character from console. */ |
@@ -164,6 +148,7 @@ enum prom_input_device { | |||
164 | PROMDEV_ITTYA, /* input from ttya */ | 148 | PROMDEV_ITTYA, /* input from ttya */ |
165 | PROMDEV_ITTYB, /* input from ttyb */ | 149 | PROMDEV_ITTYB, /* input from ttyb */ |
166 | PROMDEV_IRSC, /* input from rsc */ | 150 | PROMDEV_IRSC, /* input from rsc */ |
151 | PROMDEV_IVCONS, /* input from virtual-console */ | ||
167 | PROMDEV_I_UNK, | 152 | PROMDEV_I_UNK, |
168 | }; | 153 | }; |
169 | 154 | ||
@@ -176,6 +161,7 @@ enum prom_output_device { | |||
176 | PROMDEV_OTTYA, /* to ttya */ | 161 | PROMDEV_OTTYA, /* to ttya */ |
177 | PROMDEV_OTTYB, /* to ttyb */ | 162 | PROMDEV_OTTYB, /* to ttyb */ |
178 | PROMDEV_ORSC, /* to rsc */ | 163 | PROMDEV_ORSC, /* to rsc */ |
164 | PROMDEV_OVCONS, /* to virtual-console */ | ||
179 | PROMDEV_O_UNK, | 165 | PROMDEV_O_UNK, |
180 | }; | 166 | }; |
181 | 167 | ||
@@ -183,10 +169,18 @@ extern enum prom_output_device prom_query_output_device(void); | |||
183 | 169 | ||
184 | /* Multiprocessor operations... */ | 170 | /* Multiprocessor operations... */ |
185 | #ifdef CONFIG_SMP | 171 | #ifdef CONFIG_SMP |
186 | /* Start the CPU with the given device tree node, context table, and context | 172 | /* Start the CPU with the given device tree node at the passed program |
187 | * at the passed program counter. | 173 | * counter with the given arg passed in via register %o0. |
174 | */ | ||
175 | extern void prom_startcpu(int cpunode, unsigned long pc, unsigned long arg); | ||
176 | |||
177 | /* Start the CPU with the given cpu ID at the passed program | ||
178 | * counter with the given arg passed in via register %o0. | ||
188 | */ | 179 | */ |
189 | extern void prom_startcpu(int cpunode, unsigned long pc, unsigned long o0); | 180 | extern void prom_startcpu_cpuid(int cpuid, unsigned long pc, unsigned long arg); |
181 | |||
182 | /* Stop the CPU with the given cpu ID. */ | ||
183 | extern void prom_stopcpu_cpuid(int cpuid); | ||
190 | 184 | ||
191 | /* Stop the current CPU. */ | 185 | /* Stop the current CPU. */ |
192 | extern void prom_stopself(void); | 186 | extern void prom_stopself(void); |
@@ -335,6 +329,7 @@ int cpu_find_by_mid(int mid, int *prom_node); | |||
335 | 329 | ||
336 | /* Client interface level routines. */ | 330 | /* Client interface level routines. */ |
337 | extern void prom_set_trap_table(unsigned long tba); | 331 | extern void prom_set_trap_table(unsigned long tba); |
332 | extern void prom_set_trap_table_sun4v(unsigned long tba, unsigned long mmfsa); | ||
338 | 333 | ||
339 | extern long p1275_cmd(const char *, long, ...); | 334 | extern long p1275_cmd(const char *, long, ...); |
340 | 335 | ||