X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2Fmach-voyager%2Fvoyager_basic.c;h=b584060ec004da766c024771b8af916e8d3dc702;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=528bc8f8d566b7264fe4f21168a9068c12171bf2;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c index 528bc8f8d..b584060ec 100644 --- a/arch/i386/mach-voyager/voyager_basic.c +++ b/arch/i386/mach-voyager/voyager_basic.c @@ -23,21 +23,21 @@ #include #include #include +#include +#include #include -#include #include #include #include -#include #include #include +#include /* * Power off function, if any */ void (*pm_power_off)(void); - -int reboot_thru_bios; +EXPORT_SYMBOL(pm_power_off); 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", - .action_msg = "Dump Voyager Status\n", + .action_msg = "Dump Voyager Status", }; #endif @@ -185,7 +185,6 @@ voyager_timer_interrupt(struct pt_regs *regs) * and swiftly introduce it to something sharp and * pointy. */ __u16 val; - extern spinlock_t i8253_lock; spin_lock(&i8253_lock); @@ -236,10 +235,9 @@ voyager_power_off(void) #endif } /* and wait for it to happen */ - for(;;) { - __asm("cli"); - __asm("hlt"); - } + local_irq_disable(); + for(;;) + halt(); } /* copied from process.c */ @@ -253,6 +251,12 @@ kb_wait(void) break; } +void +machine_shutdown(void) +{ + /* Architecture specific shutdown needed before a kexec */ +} + void machine_restart(char *cmd) { @@ -274,13 +278,17 @@ machine_restart(char *cmd) 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) @@ -317,12 +325,8 @@ machine_halt(void) machine_power_off(); } -EXPORT_SYMBOL(machine_halt); - void machine_power_off(void) { if (pm_power_off) pm_power_off(); } - -EXPORT_SYMBOL(machine_power_off);