Boot Error
John Baldwin
jhb at FreeBSD.org
Tue Aug 2 18:36:40 GMT 2005
On Monday 01 August 2005 08:36 pm, Beecher Rintoul wrote:
> I'm getting the following error while trying to boot:
>
> int=0000000d err=00000000 efl=0010006 eip=00027995
> eax=00000100 ebx=00000000 ecx=c000000 edx=00000000
> esi=00000200 edi=0006d5f0 ebp=0093630 esp=0009d600
> cs=0008 ds=0010 es=0010 fs=0010 gs=0010 ss=0010
> cs:eip=0f 30 0f 20 e0 83 c8 30-0f 22 e0 b8 00 f0 03 00 of 22 d8 0f 20
> c0 0d 00-00 00 80 0f 22 c0 b8 00
> ss:esp=69 95 00 00 00 40 dd 00-00 50 dd 00 00 10 04 00 00 00 00 00 00
> 00 04 00-00 00 00 00 00 40 dd 00
>
> BTX halted
>
> I have tried both 5.4-release and 6.0-beta with the same results. The
> machine works fine with i386 5.4. The box is an MSI K8t Neo Mobo,
> running a 2800+ Sempron.
> Anyone have a suggestion?
Looks like your BIOS is trying to enter long mode or something:
00000000 0F30 wrmsr
00000002 0F20E0 mov eax,cr4
00000005 83C830 or ax,byte +0x30
00000008 0F22E0 mov cr4,eax
0000000B B800F0 mov ax,0xf000
0000000E 0300 add ax,[bx+si]
00000010 00 db 0x00
Actually, this isn't your BIOS, this might be in the kernel startup. The code
after the wrmsr is trying to turn on PSE and PAE. %ecx is 0xc0000000, and I
don't think that is a valid MSR. The eip is still in the loader. Hmm, looks
like it is the code in the amd64 trampoline:
amd64_tramp:
/* Be sure that interrupts are disabled */
cli
/* Turn on EFER.LME */
movl $MSR_EFER, %ecx
rdmsr
orl $EFER_LME, %eax
wrmsr
/* Turn on PAE */
movl %cr4, %eax
orl $(CR4_PAE | CR4_PSE), %eax
movl %eax, %cr4
/* Set %cr3 for PT4 */
movl $VTOP(PT4), %eax
movl %eax, %cr3
Hmm, looks like MSR_EFER is supposed to be 0xc0000080. Are you sure the value
is 0xc0000000? If so, perhaps your loader is corrupted and/or you have some
bad memory perhaps?
--
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-amd64
mailing list