lkml.org 
[lkml]   [2006]   [Aug]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromAndi Kleen <>
SubjectRe: [PATCH][RFC] exception processing in early boot
DateWed, 30 Aug 2006 18:30:40 +0200
On Wednesday 30 August 2006 18:25, pageexec@freemail.hu wrote:
> On 30 Aug 2006 at 14:59, Andi Kleen wrote:
> > > I think that the good method would be to :
> > >   - announce the patch
> > >   - find a volunteer to port it
> > >   - apply it once the volunteer agrees to handle it
> > > This way, no code gets lost because there's always someone to track it.
> > 
> > I can put that one into my tree for .19
> 
> here's my quick attempt:


It would be better to separate exceptions from interrupts here.
A spurious interrupt is not necessarily fatal, just an exception is.

But I went with the simpler patch with some changes now 
(added PANIC to the message etc.) 

> 
> --- linux-2.6.18-rc5/arch/i386/kernel/head.S	2006-08-28 11:37:31.000000000 
> +0200
> +++ linux-2.6.18-rc5-fix/arch/i386/kernel/head.S	2006-08-30 
> 18:22:15.000000000 +0200
> @@ -382,34 +382,25 @@ rp_sidt:
>  /* This is the default interrupt "handler" :-) */
>  	ALIGN
>  ignore_int:
> -	cld
>  #ifdef CONFIG_PRINTK
> -	pushl %eax
> -	pushl %ecx
> -	pushl %edx
> -	pushl %es
> -	pushl %ds
> +	cld
>  	movl $(__KERNEL_DS),%eax
>  	movl %eax,%ds
>  	movl %eax,%es
> -	pushl 16(%esp)
> -	pushl 24(%esp)
> -	pushl 32(%esp)
> -	pushl 40(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
> +	pushl 12(%esp)
>  	pushl $int_msg
>  #ifdef CONFIG_EARLY_PRINTK
>  	call early_printk
>  #else
>  	call printk
>  #endif
> -	addl $(5*4),%esp
> -	popl %ds
> -	popl %es
> -	popl %edx
> -	popl %ecx
> -	popl %eax
>  #endif
> -	iret
> +1:	hlt

This is wrong because i386 still supports some CPUs that don't support
HLT.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-08-30 16:33    [from the cache]
©2003-2008