Re: [PATCH] x86 boot: Pass E820 memory map entries more than 128via linked list of setup data

From: Huang, Ying
Date: Tue Jun 24 2008 - 03:03:29 EST


On Mon, 2008-06-23 at 22:45 -0700, H. Peter Anvin wrote:
> Huang, Ying wrote:
> > On Mon, 2008-06-23 at 04:48 -0500, Paul Jackson wrote:
> >> Huang wrote:
> >>> 4. Current EFI memmap based code does not work properly in all
> >>> situation, for example it can not works with kernel parameter:
> >>> "memmap=exactmap, memmap=<xxx>, ...", "mem=<xxx>" or "noefi".
> >> With "noefi" parameter, my EFI memmap based code is not supposed
> >> to do anything. The "noefi" parameter asks the kernel to ignore
> >> any EFI support in the firmware it is booting from.
> >
> > "noefi" is used to specify that the EFI runtime services should be
> > disabled in kernel. But the memmap should be complete.
> >
> >> Could you tell me more what you mean by "does not work properly?"
> >
> > OK. It is OK for your code with "noefi". The remaining issues:
> >
> > If "memmap=exactmap memmap=<xxx>" is specified in kernel command line.
> > The user defined memmap should override that from firmware. But your
> > code is executed after the user defined memmap is parsed, so the memmap
> > from firmware will override that from user. This does not conform the
> > semantics of "memmap=exactmap ...". Same issue for "mem=<xxx>".
> >
> > Another issue is that the size of E820 memmap required on EFI system
> > must be two times bigger than that really needed. Because at first the
> > E820 memmap is filled with the entries from E820 and E820_EXT, then that
> > from EFI memmap is appended.
> >
>
> Hello,
>
> I discussed this with Ingo earlier today, and we came to the following
> conclusion:
>
> 1. The EFI memmap code as a backup to the bootloader is fine.
> 2. Ying's memmap= objection needs to be addressed. Violating user
> overrides is not appropriate.
> 3. It is important that we don't override the bootloader when the
> bootloader really does know best. For example, kexec may want to
> control exactly what memory the target kernel uses. As a result, we
> need a flag somewhere to disable *any* attempts at obtaining memory
> information from the environment, be it EFI, OpenFirmware or what have
> you. The easiest way to do this is probably via a command-line flag,
> e.g. "noauxmem".
>
> What do you guys think?

I think it is better to add a command-line flag "auxmem", the EFI memmap
is only used when this flag is set. This has better back-compatibility.

Best Regards,
Huang Ying

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/