2006-08-24 18:40:03

by Andrew Brukhov

[permalink] [raw]
Subject: [PATCH] boot: small change of halt method

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


2006-08-24 19:08:29

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

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

2006-08-24 21:04:04

by Oleg Verych

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

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) =--'

2006-08-24 21:15:07

by Grzegorz Kulewski

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

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

2006-08-24 21:25:19

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

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

2006-08-24 21:57:27

by Oleg Verych

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

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 ^--

2006-08-24 22:20:27

by H. Peter Anvin

[permalink] [raw]
Subject: Re: [PATCH] boot: small change of halt method

Oleg Verych wrote:
>
> then maybe "panic=timeout" could be applied here ?
>

It could, yes, with some work.

-hpa