On Tue, Apr 26, 2011 at 02:24:50PM -0400, Ben Romer wrote: > Hi Simon! > > I'm working on supporting linux on a Unisys virtualization platform > called s-Par, and I've put together a patch for kexec-tools that I'd > like to submit. s-Par is an EFI-based virtualization system that splits > up a machine in a way similar to the way Xen does, using a hypervisor, > and we have a virtual EFI environment that runs for each guest > partition. This is a "pure" EFI environment, so it doesn't have a > fully-defined e820 table. To boot linux on our platform, we have to use > the "add_efi_memmap" parameter to fill out the kernel's memory map with > the additional entries from EFI. > > This causes problems when we try to kexec, because the kexec loader is > using the /sys/firmware information which is incomplete. It ends up > causing the kernel and initrd to overlap in memory, which of course > doesn't work. > > I found some discussion of a similar problem on the LKML - a patch from > Mike Travis, specifically, in a thread called "[Patch 1/1] x86 efi: > insert add_efi_memmap entries into both e820 maps" from May 12, 2010 - > the end of which said that the loader needed work rather than the kernel > being modified. > > The patch below checks for the add_efi_memmap option in the kernel > command line, and switches to using /proc/iomem instead of /sys/memmap > when the option is found. I think this might fix the general case and I > know it will allow linux to successfully kexec on our platform. > > Would you mind taking a look and letting me know what you think? Thanks > in advance. :) If this looks okay to you I'll type up and send a formal > patch email. Sometimes our email system eats patches so if this doesn't > come through cleanly I'll try again with a different account. Hi Ben, this looks good to me. Could you please make it a formal submission by supplying a Signed-off-by line?