Re: Linux 3.9-rc1

Yinghai Lu
2013-03-06T20:00:29Z

[-- Attachment #1: Type: text/plain, Size: 748 bytes --]

On Wed, Mar 6, 2013 at 11:54 AM, Henrik Rydberg <rydberg@euromail.se> wrote:
>> >> Can you check bootloader like grub.efi ?
>> >
>> > I checked, same story. I tried without EFI_STUB, no joy. I ran with
>> > and without nouveau, just in case. Without the patch, everything
>> > works. With the patch, nothing works, and no output at all.
>> >
>> > With a bit of luck, I could maybe get the first lines of output using
>> > grub.efi, but frankly I cannot remember if that ever worked on this
>> > machine.

Found one bug about real_end calculating, it should be PMD_SIZE align.
Otherwise in extreme case we could have less then 2M for the first step.
In your case is about only (1M - 32k) for first step.

Please try attached patch.

Thanks

Yinghai

[-- Attachment #2: fix_real_end.patch --]
[-- Type: application/octet-stream, Size: 461 bytes --]

diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 2393d00..7bd5509 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -364,7 +364,7 @@ void __init init_mem_mapping(void)

/* xen has big range in reserved near end of ram, skip it at first */
addr = memblock_find_in_range(ISA_END_ADDRESS, end, PMD_SIZE,
- PAGE_SIZE);
+ PMD_SIZE);
real_end = addr + PMD_SIZE;

/* step_size need to be small so pgt_buf from BRK could cover it */