Re: Regression: boot failure on AMD Elan TS-5500

From: Sean Young
Date: Tue Jul 15 2008 - 18:24:18 EST


On Tue, Jul 01, 2008 at 08:20:14PM +0000, Sean Young wrote:
> On Tue, Jul 01, 2008 at 07:59:42PM +0000, Sean Young wrote:
> > On Mon, Jun 30, 2008 at 03:42:47PM -0700, H. Peter Anvin wrote:
> > > diff --git a/arch/x86/boot/pmjump.S b/arch/x86/boot/pmjump.S
> > > index ab049d4..141b6e2 100644
> > > --- a/arch/x86/boot/pmjump.S
> > > +++ b/arch/x86/boot/pmjump.S
> > > @@ -33,6 +33,8 @@ protected_mode_jump:
> > > movw %cs, %bx
> > > shll $4, %ebx
> > > addl %ebx, 2f
> > > + jmp 1f # Short jump to serialize on 386/486
> > > +1:
> > >
> > > movw $__BOOT_DS, %cx
> > > movw $__BOOT_TSS, %di
> > > @@ -40,8 +42,6 @@ protected_mode_jump:
> > > movl %cr0, %edx
> > > orb $X86_CR0_PE, %dl # Protected mode
> > > movl %edx, %cr0
> > > - jmp 1f # Short jump to serialize on 386/486
> > > -1:
> > >
> > > # Transition to 32-bit mode
> > > .byte 0x66, 0xea # ljmpl opcode
> >
> > I'm afraid it doesn't work. Maybe I can find something in the AMD Elan
> > documentation. Would a fence make sense?
>
> I was just trying to confirm this with postive and negative tests which
> is failing. I'm probably being an idiot, please let systematically test
> this.

When I bisected this issue between latest and 2.6.23 the issue seemed to be
here (round about 2.6.24-rc1). Trying to repeat the same things on latest
just led to confusion.

So I've started from scratch with contemporary trees and found something
very different.

2.6.25: works
2.6.25.5: works
2.6.25.6: broken
2.6.25.10: broken
2.6.26: works

Now the issue which was introduced in 2.6.25.6 is that a rdtsc will be done
even though this CPU does not support it (before console_init(), leaving
me with only one led for output!). This issue has been fixed in 2.6.26 but
not in 2.6.25-stable.

The protected mode jump was just a red herring (or at least whatever was
broken back then is fixed now); 2.6.26 is working fine and that's good
enough for me.

Thanks for all the help,

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