|
@@ -6,6 +6,8 @@
|
|
|
*/
|
|
|
#include <linux/config.h>
|
|
|
#include <linux/init.h>
|
|
|
+#include <linux/kernel.h>
|
|
|
+#include <linux/linkage.h>
|
|
|
#include <linux/smp.h>
|
|
|
#include <linux/string.h>
|
|
|
#include <linux/types.h>
|
|
@@ -85,17 +87,13 @@ void __init which_prom(s32 magic, s32 *prom_vec)
|
|
|
|
|
|
void __init prom_init(void)
|
|
|
{
|
|
|
- extern void dec_machine_halt(void);
|
|
|
+ extern void ATTRIB_NORET dec_machine_halt(void);
|
|
|
static char cpu_msg[] __initdata =
|
|
|
"Sorry, this kernel is compiled for a wrong CPU type!\n";
|
|
|
- static char r3k_msg[] __initdata =
|
|
|
- "Please recompile with \"CONFIG_CPU_R3000 = y\".\n";
|
|
|
- static char r4k_msg[] __initdata =
|
|
|
- "Please recompile with \"CONFIG_CPU_R4x00 = y\".\n";
|
|
|
s32 argc = fw_arg0;
|
|
|
- s32 argv = fw_arg1;
|
|
|
+ s32 *argv = (void *)fw_arg1;
|
|
|
u32 magic = fw_arg2;
|
|
|
- s32 prom_vec = fw_arg3;
|
|
|
+ s32 *prom_vec = (void *)fw_arg3;
|
|
|
|
|
|
/*
|
|
|
* Determine which PROM we have
|
|
@@ -113,6 +111,8 @@ void __init prom_init(void)
|
|
|
#if defined(CONFIG_CPU_R3000)
|
|
|
if ((current_cpu_data.cputype == CPU_R4000SC) ||
|
|
|
(current_cpu_data.cputype == CPU_R4400SC)) {
|
|
|
+ static char r4k_msg[] __initdata =
|
|
|
+ "Please recompile with \"CONFIG_CPU_R4x00 = y\".\n";
|
|
|
printk(cpu_msg);
|
|
|
printk(r4k_msg);
|
|
|
dec_machine_halt();
|
|
@@ -122,6 +122,8 @@ void __init prom_init(void)
|
|
|
#if defined(CONFIG_CPU_R4X00)
|
|
|
if ((current_cpu_data.cputype == CPU_R3000) ||
|
|
|
(current_cpu_data.cputype == CPU_R3000A)) {
|
|
|
+ static char r3k_msg[] __initdata =
|
|
|
+ "Please recompile with \"CONFIG_CPU_R3000 = y\".\n";
|
|
|
printk(cpu_msg);
|
|
|
printk(r3k_msg);
|
|
|
dec_machine_halt();
|