Re: [PATCH] Fix e820 end address with EFI

From: Huang Ying
Date: Sun Mar 01 2009 - 21:13:49 EST


On Mon, 2009-03-02 at 09:39 +0800, Brian Maly wrote:
> Huang Ying wrote:
> > Hi, Brian,
> >
> > On Mon, 2009-03-02 at 04:13 +0800, Brian Maly wrote:
> >
> > > I was able verify the kernel that does not boot on the MacBook (vanilla
> > > 2.6.29-rc4) does call efi_ioremap() which bails out early returning
> > > NULL. So no remapping happens in this case. I have no idea if
> > > efi_ioremap ever does succeed in mapping any ranges though being I have
> > > no video or console this early in the boot and have to rely on triple
> > > faulting as a means of debugging.
> > >
> >
> > Please attach your dmesg of successful boot, so we can take a look at
> > the EFI memory map.
> >
> > Best Regards,
> > Huang Ying
> >
> This dmesg is from a 2.6.25 kernel which works fine. I can gather
> other debugging info from the booting kernels if needed. But its a
> challenge to debug the bad kernel being efifb is initialized very late
> (so you never even get to the video initialization and cant see any
> logged messages) and since its a MacBook I dont have a real serial
> port for serial console. The efi map is for MacBook has a different
> layout from other EFI systems I have to test on. 2.6.29 kernel works
> on every EFI system I have except MacBook.

It seems that you have an EFI system which has too big runtime area.

EFI: mem44: type=0, attr=0x8000000000000000, range=[0x000000007ff00000-0x0000000080000000) (1MB)

efi_ioremap() can map only memory range < 400k now.

It seems that efi_ioremap is the bottle net now. Can we just use
init_memory_mapping() instead of efi_ioremap() for EFI runtime area?

Yinghai, how about your opinion?

Best Regards,
Huang Ying

Attachment: signature.asc
Description: This is a digitally signed message part