I'm new here.
After reading boot code i'm immidiatly change this string:
--- ./linux-2.6.17.11/arch/i386/boot/compressed/misc.c 2006-08-24 01:16:33.000000000 +0400
+++ /usr/src/linux-2.6.17.11/arch/i386/boot/compressed/misc.c 2006-08-24 22:36:10.000000000 +0400
@@ -7,6 +7,7 @@
* malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
* puts by Nick Holloway 1993, better puts by Martin Mares 1995
* High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
+ * Small fix of halt method Andrew Brukhov, Aug. 2006
*/
#include <linux/linkage.h>
@@ -289,8 +290,7 @@ static void error(char *x)
putstr("\n\n");
putstr(x);
putstr("\n\n -- System halted");
-
- while(1); /* Halt */
+ asm( "hlt" );
}
It's becouse this code is platform depended and therefore there is no resons to write infinity cycle.
--------------
Andrew Brukhov
Andrew Brukhov wrote:
> I'm new here.
> After reading boot code i'm immidiatly change this string:
>
> --- ./linux-2.6.17.11/arch/i386/boot/compressed/misc.c 2006-08-24 01:16:33.000000000 +0400
> +++ /usr/src/linux-2.6.17.11/arch/i386/boot/compressed/misc.c 2006-08-24 22:36:10.000000000 +0400
> @@ -7,6 +7,7 @@
> * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
> * puts by Nick Holloway 1993, better puts by Martin Mares 1995
> * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996
> + * Small fix of halt method Andrew Brukhov, Aug. 2006
> */
>
> #include <linux/linkage.h>
> @@ -289,8 +290,7 @@ static void error(char *x)
> putstr("\n\n");
> putstr(x);
> putstr("\n\n -- System halted");
> -
> - while(1); /* Halt */
> + asm( "hlt" );
> }
>
> It's becouse this code is platform depended and therefore there is no resons to write infinity cycle.
>
Wrong.
You need to:
while (1)
asm volatile("hlt");
... since HLT only pauses until interrupt.
-hpa
H. Peter Anvin wrote:
> Andrew Brukhov wrote:
>
>> I'm new here.
>> After reading boot code i'm immidiatly change this string:
...
>> + * Small fix of halt method Andrew Brukhov, Aug. 2006 */
>>
<http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
>
> while (1)
> asm volatile("hlt");
>
> ... since HLT only pauses until interrupt.
>
Why not to have a reboot here?
Testing and getting such errors on my laptop, it needs a power cycle.
--
-o--=O`C /. .\ (yep) (+) /o-o\
#oo'L O o | *.
<___=E M ^-- | (you're barking up the wrong tree) =--'
On Fri, 25 Aug 2006, Oleg Verych wrote:
> H. Peter Anvin wrote:
>> Andrew Brukhov wrote:
>>
>> > I'm new here.
>> > After reading boot code i'm immidiatly change this string:
> ...
>> > + * Small fix of halt method Andrew Brukhov, Aug. 2006
>> > */
>> >
> <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
>
>>
>> while (1)
>> asm volatile("hlt");
>>
>> ... since HLT only pauses until interrupt.
>>
> Why not to have a reboot here?
> Testing and getting such errors on my laptop, it needs a power cycle.
And what if hlt is buggy? I have at least one pIII tualatin based server
that has some strange mainboard problem and will work only if nohlt is
passed to the kernel.
Thanks,
Grzegorz Kulewski
Oleg Verych wrote:
>>
> Why not to have a reboot here?
> Testing and getting such errors on my laptop, it needs a power cycle.
>
It makes it harder to debug, mostly.
-hpa
H. Peter Anvin wrote:
> Oleg Verych wrote:
>
>>>
>> Why not to have a reboot here?
>> Testing and getting such errors on my laptop, it needs a power cycle.
>>
>
> It makes it harder to debug, mostly.
>
then maybe "panic=timeout" could be applied here ?
--
-o--=O`C /. .\
#oo'L O o
<___=E M ^--
Oleg Verych wrote:
>
> then maybe "panic=timeout" could be applied here ?
>
It could, yes, with some work.
-hpa