summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-01-30 13:32:31 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:32:31 +0100
commitff3cf856120743c7386e8f6ab9f08e068886ce5c (patch)
tree046e07705b6a799c8f82b4f92ae1024771aaad64
parent39657b6546558469734eb960f7c0c9492111096f (diff)
x86: hlt on early crash
H. Peter Anvin <hpa@zytor.com> wrote: > It probably should actually HLT, to avoid sucking power, and stressing > the thermal system. We're dead at this point, and the early 486's > which had problems with HLT will lock up - we don't care. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/boot/compressed/misc_32.c3
-rw-r--r--arch/x86/boot/compressed/misc_64.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/boot/compressed/misc_32.c b/arch/x86/boot/compressed/misc_32.c
index 288e16283ef9..9103652058c4 100644
--- a/arch/x86/boot/compressed/misc_32.c
+++ b/arch/x86/boot/compressed/misc_32.c
@@ -339,7 +339,8 @@ static void error(char *x)
putstr(x);
putstr("\n\n -- System halted");
- while(1); /* Halt */
+ while (1)
+ asm("hlt");
}
asmlinkage void decompress_kernel(void *rmode, unsigned long end,
diff --git a/arch/x86/boot/compressed/misc_64.c b/arch/x86/boot/compressed/misc_64.c
index 7d8338e21b00..8494f0dcff21 100644
--- a/arch/x86/boot/compressed/misc_64.c
+++ b/arch/x86/boot/compressed/misc_64.c
@@ -338,7 +338,8 @@ static void error(char *x)
putstr(x);
putstr("\n\n -- System halted");
- while(1); /* Halt */
+ while (1)
+ asm("hlt");
}
asmlinkage void decompress_kernel(void *rmode, unsigned long heap,