[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49AB4521.8010909@kernel.org>
Date: Sun, 01 Mar 2009 18:32:01 -0800
From: Yinghai Lu <yinghai@...nel.org>
To: Huang Ying <ying.huang@...el.com>
CC: Brian Maly <bmaly@...hat.com>, Ingo Molnar <mingo@...e.hu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] Fix e820 end address with EFI
Huang Ying wrote:
> On Mon, 2009-03-02 at 10:16 +0800, Yinghai Lu wrote:
>> Huang Ying wrote:
>>> 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?
>> you could call init_memory_maping() in that efi_ioremap position?
>>
>> problems is how about 32bit?
>
> efi_ioremap() is defined as ioremap_cache() on 32bit system. As that in
> arch/x86/include/asm/efi.h.
>
> On 64bit system, efi_ioremap() can be a wrapper for
> init_memory_mapping(). Do you think it is appropriate?
so 64bit could use ioremap_cache() too?
we may keep 32bit and 64bit a bit consistent.
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists