On Wed, Aug 07, 2013 at 07:49:16PM +0200, Laszlo Ersek wrote: […] > Now, lines 01 to 05 *do not happen*. > > More precisely, they don't happen in the kernel. They happen in the > firmware. Specifically, "OvmfPkg/Library/LoadLinuxLib/Linux.c". > > You're booting the kernel from the qemu command line. The kernel you > run is also an "[o]ld kernel[] without EFI handover protocol". So what > happens is, OVMF downloads the kernel image from qemu over fw_cfg, > figures it's an old kernel... Right, I think this is easier than having to go into the EFI shell each time and run bzImage.efi. Unless there's a faster way to do that along with passing it kernel command line parameters... […] > In one sentence, efi_memblock_x86_reserve_range() expects that > "boot_params.efi_info->efi_memmap" has been allocated as "loader data" > (by whomever), but SetupLinuxMemmap() violates this by allocating the > storage as "boot services data". > > This leads to double reservation attempts between > efi_memblock_x86_reserve_range(), and efi_reserve_boot_services(). Ok, this makes sense. > The attached edk2 patch should fix it. Please confirm. > > Thanks, > Laszlo > > From 4a9e1f10fa2d06496f1983c25c47c6a1373d2f42 Mon Sep 17 00:00:00 2001 > From: Laszlo Ersek <lersek@xxxxxxxxxx> > Date: Wed, 7 Aug 2013 19:39:30 +0200 > Subject: [PATCH] OvmfPkg: allocate the EFI memory map for Linux as Loader Data > > In Linux, efi_memblock_x86_reserve_range() and efi_reserve_boot_services() > expect that whoever allocates the EFI memmap allocates it in Loader Data > type memory. Linux's own exit_boot()-->low_alloc() complies, but > SetupLinuxMemmap() in LoadLinuxLib doesn't. > > The memory type discrepancy leads to efi_memblock_x86_reserve_range() and > efi_reserve_boot_services() both trying to reserve the range backing the > memmap, resulting in memmap entry truncation in > efi_reserve_boot_services(). > > This fix also makes this allocation consistent with all other persistent > allocations in "OvmfPkg/Library/LoadLinuxLib/Linux.c". > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx> Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> Great, thanks for this. I guess we got that out of the way too. I finally can concentrate on my patches again :-) -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html