git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
arch
/
i386
/
mach-voyager
/
voyager_basic.c
diff --git
a/arch/i386/mach-voyager/voyager_basic.c
b/arch/i386/mach-voyager/voyager_basic.c
index
528bc8f
..
b584060
100644
(file)
--- a/
arch/i386/mach-voyager/voyager_basic.c
+++ b/
arch/i386/mach-voyager/voyager_basic.c
@@
-23,21
+23,21
@@
#include <linux/delay.h>
#include <linux/reboot.h>
#include <linux/sysrq.h>
#include <linux/delay.h>
#include <linux/reboot.h>
#include <linux/sysrq.h>
+#include <linux/smp.h>
+#include <linux/nodemask.h>
#include <asm/io.h>
#include <asm/io.h>
-#include <asm/pgalloc.h>
#include <asm/voyager.h>
#include <asm/vic.h>
#include <linux/pm.h>
#include <asm/voyager.h>
#include <asm/vic.h>
#include <linux/pm.h>
-#include <linux/irq.h>
#include <asm/tlbflush.h>
#include <asm/arch_hooks.h>
#include <asm/tlbflush.h>
#include <asm/arch_hooks.h>
+#include <asm/i8253.h>
/*
* Power off function, if any
*/
void (*pm_power_off)(void);
/*
* Power off function, if any
*/
void (*pm_power_off)(void);
-
-int reboot_thru_bios;
+EXPORT_SYMBOL(pm_power_off);
int voyager_level = 0;
int voyager_level = 0;
@@
-54,7
+54,7
@@
voyager_dump(int dummy1, struct pt_regs *dummy2, struct tty_struct *dummy3)
static struct sysrq_key_op sysrq_voyager_dump_op = {
.handler = voyager_dump,
.help_msg = "Voyager",
static struct sysrq_key_op sysrq_voyager_dump_op = {
.handler = voyager_dump,
.help_msg = "Voyager",
- .action_msg = "Dump Voyager Status
\n
",
+ .action_msg = "Dump Voyager Status",
};
#endif
};
#endif
@@
-185,7
+185,6
@@
voyager_timer_interrupt(struct pt_regs *regs)
* and swiftly introduce it to something sharp and
* pointy. */
__u16 val;
* and swiftly introduce it to something sharp and
* pointy. */
__u16 val;
- extern spinlock_t i8253_lock;
spin_lock(&i8253_lock);
spin_lock(&i8253_lock);
@@
-236,10
+235,9
@@
voyager_power_off(void)
#endif
}
/* and wait for it to happen */
#endif
}
/* and wait for it to happen */
- for(;;) {
- __asm("cli");
- __asm("hlt");
- }
+ local_irq_disable();
+ for(;;)
+ halt();
}
/* copied from process.c */
}
/* copied from process.c */
@@
-253,6
+251,12
@@
kb_wait(void)
break;
}
break;
}
+void
+machine_shutdown(void)
+{
+ /* Architecture specific shutdown needed before a kexec */
+}
+
void
machine_restart(char *cmd)
{
void
machine_restart(char *cmd)
{
@@
-274,13
+278,17
@@
machine_restart(char *cmd)
outb(basebd | 0x08, VOYAGER_MC_SETUP);
outb(0x02, catbase + 0x21);
}
outb(basebd | 0x08, VOYAGER_MC_SETUP);
outb(0x02, catbase + 0x21);
}
- for(;;) {
- asm("cli");
- asm("hlt");
- }
+ local_irq_disable();
+ for(;;)
+ halt();
}
}
-EXPORT_SYMBOL(machine_restart);
+void
+machine_emergency_restart(void)
+{
+ /*for now, just hook this to a warm restart */
+ machine_restart(NULL);
+}
void
mca_nmi_hook(void)
void
mca_nmi_hook(void)
@@
-317,12
+325,8
@@
machine_halt(void)
machine_power_off();
}
machine_power_off();
}
-EXPORT_SYMBOL(machine_halt);
-
void machine_power_off(void)
{
if (pm_power_off)
pm_power_off();
}
void machine_power_off(void)
{
if (pm_power_off)
pm_power_off();
}
-
-EXPORT_SYMBOL(machine_power_off);