http://bugzilla.opensuse.org/show_bug.cgi?id=1122614
http://bugzilla.opensuse.org/show_bug.cgi?id=1122614#c28
--- Comment #28 from Joey Lee
(In reply to Gary Ching-Pang Lin from comment #23) [...snip]
if (md->attribute & EFI_MEMORY_WB && md->type == EFI_CONVENTIONAL_MEMORY) {
This way, get_dram_base() will always find the first free region.
As Gary's suggestion, I am building kernel RPM for testing:
--- drivers/firmware/efi/libstub/efi-stub-helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/firmware/efi/libstub/efi-stub-helper.c +++ b/drivers/firmware/efi/libstub/efi-stub-helper.c @@ -153,7 +153,7 @@ unsigned long get_dram_base(efi_system_t map.map_end = map.map + map_size;
for_each_efi_memory_desc_in_map(&map, md) { - if (md->attribute & EFI_MEMORY_WB) { + if ((md->type == EFI_CONVENTIONAL_MEMORY) && (md->attribute & EFI_MEMORY_WB)) { if (membase > md->phys_addr) membase = md->phys_addr; }
I have pushed this patch to OBS for building kernel RPMs now: https://build.opensuse.org/package/show/home:joeyli:branches:openSUSE:Factor... I didn't environment to test it yet. -- You are receiving this mail because: You are on the CC list for the bug.