CPUTYPE?=athlon-xp breaks loader (was Re: instant reboot when
trying to load recent RELENG_5 kernel)
John Baldwin
jhb at FreeBSD.org
Mon Nov 1 14:18:25 PST 2004
On Sunday 31 October 2004 09:28 am, Deng XueFeng wrote:
> > On up-to-date RELENG_5_3, compiling the loader with CPUTYPE?=athlon-xp
> > results in an instant reboot when the loader attempts to load a kernel.
> > As the loader will preload the default kernel before presenting the boot
> > prompt, there is a reboot before you even get to the boot prompt... The
> > end result is an unworkable install. I do not see this issue on my
> > Pentium III and Pentium IV systems (using "p3" and "p4" for CPUTYPE,
> > respectively), although there is a similar problem reported on a Pentium
> > M (have not verified CPUTYPE is being used, however).
> >
> > I first noticed this issue on October 15th. My previous build on October
> > 12th worked fine. At the time I was tracking RELENG_5, but prior to that
> > I was tracking HEAD.
> >
> > If other folks with Athlon XPs (or Pentium Ms) could give this a shot
> > that would be great. It would be good to know if it's a real problem or
> > just my system.
> >
> > Thanks,
> > Jon
>
> seems like: (I use DV get something, but not clear, then i found the
> message in dfbsd news, so put it here)
>
> BTX loader 1.00 BTX version is 1.01
> Console: internal video/keyboard
>
> int=0000000d err=00000000 efl=00030206 eip=0000432e
> eax=00008001 ebx=00000700 ecx=00000000 edx=0000009f
> esi=00000b34 edi=00000008 ebp=00000000 esp=000003de
> cs=f000 ds=3ae1 es=3ac4 fs=0000 gs=0000 ss=9e3d
> cs:eip=2e 0f 01 16 48 44 0f 20-c0 0c 01 0f 22 c0 b8 30
> 00 8e c0 0f 20 c0 24 fe-0f 22 c0 eb 00 66 58 c3
> ss:esp=01 80 00 00 39 42 08 00-00 00 34 0b 00 00 00 00
> 00 00 04 04 00 00 00 07-00 00 9f 00 00 00 00 00
> BTX halted
00000000 2E0F01164844 lgdt [cs:0x4448]
00000006 0F20C0 mov eax,cr0
00000009 0C01 or al,0x1
0000000B 0F22C0 mov cr0,eax
0000000E B83000 mov ax,0x30
00000011 8EC0 mov es,ax
00000013 0F20C0 mov eax,cr0
00000016 24FE and al,0xfe
00000018 0F22C0 mov cr0,eax
0000001B EB00 jmp short 0x1d
0000001D 6658 pop eax
0000001F C3 ret
Your BIOS writer needs to be beaten with a blunt instrument. They are trying
to enter protected mode themselves and not handling the fact that they can be
called from vm86 mode. There's not much FreeBSD can do about narrow-minded,
kludgey BIOS code.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list