Re: [PATCH][RFC] exception processing in early boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 30 August 2006 18:25, [email protected] 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux