panic: no BIOS SMAP info from loader

Rong-en Fan grafan at gmail.com
Mon Nov 5 17:24:04 PST 2007


On Nov 3, 2007 2:03 AM, John Baldwin <jhb at freebsd.org> wrote:
>
> On Thursday 01 November 2007 09:41:09 pm Rong-en Fan wrote:
> > On 11/2/07, John Baldwin <jhb at freebsd.org> wrote:
> > > On Thursday 01 November 2007 09:34:22 am Rong-en Fan wrote:
> > > > I have a HP dc7000 box, booting with i386 is fine, but not
> > > > amd64. It panics as soon as loader loads kernel. The console
> > > > snapshot is at
> > > >
> > > > http://www.flickr.com/photos/rafan/1814155320/
> > > >
> > > > under loader prompt, 'smap' shows nothing for both i386
> > > > and amd64. But i386 works well. I looked at archive, it
> > > > seems there are several reports, but no solution. BTW, the boot
> > > > cd I used is 7.0-BETA1.5.
> > >
> > > Does Linux find an SMAP?  Right now FreeBSD/amd64 requires an SMAP.
> >
> > I'm not sure if I get this right, on Linux it shows
> >
> > BIOS-provided physical RAM map:
> >  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
> >  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> >  BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
> >  BIOS-e820: 0000000000100000 - 00000000defafe00 (usable)
> >  BIOS-e820: 00000000defafe00 - 00000000defb1ea0 (ACPI NVS)
> >  BIOS-e820: 00000000defb1ea0 - 00000000e0000000 (reserved)
> >  BIOS-e820: 00000000f4000000 - 00000000f8000000 (reserved)
> >  BIOS-e820: 00000000fec00000 - 00000000fed40000 (reserved)
> >  BIOS-e820: 00000000fed45000 - 0000000100000000 (reserved)
> >  BIOS-e820: 0000000100000000 - 000000021c000000 (usable)
>
> Ok, so Linux finds it.  They use the same algo the loader uses, so I don't see
> why this isn't working. :(  You can try adding some debug printfs into
> sys/boot/i386/libi386/biossmap.c where it calls the BIOS to fetch the SMAP.
> You can also try disassembling your BIOS to see how it handles int 0x15
> ax=0xe820 to see if it is expecting something odd.

Right after v86int(), it shows

efl 243 eax 8600 ecx 0 edx 534d4150 es 3fa7 edi 4

As eax != SMAPSIG, it just quits the loop...
It's obtained from 200704 i386 current snap.

BTW, netbsd 3.1 amd64 boots just fine on the same box. But I forget
to check whether it can see all memory or not.

Regards,
Rong-En Fan


More information about the freebsd-amd64 mailing list