Messages in this thread Patch in this message | | | Date | Tue, 15 Jul 2008 22:23:59 +0000 | From | Sean Young <> | Subject | Re: Regression: boot failure on AMD Elan TS-5500 |
| |
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
| |