Mailinglist Archive: opensuse-bugs (6499 mails)

< Previous Next >
[Bug 1122614] armv7 efistub enablement missing in GRUB2
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Wed, 10 Jul 2019 08:46:00 +0000
  • Message-id: <bug-1122614-21960-ja1Vu5vYOZ@http.bugzilla.opensuse.org/>
http://bugzilla.opensuse.org/show_bug.cgi?id=1122614
http://bugzilla.opensuse.org/show_bug.cgi?id=1122614#c24

--- Comment #24 from Joey Lee <jlee@xxxxxxxx> ---
(In reply to Gary Ching-Pang Lin from comment #23)
Just checked the u-boot code, it always marks the first page as WB and
RESERVED for its own spin table.

Maybe we can change the logic of get_dram_base() in kernel from

if (md->attribute & EFI_MEMORY_WB) {

to

if (md->attribute & EFI_MEMORY_WB &&
md->type == EFI_CONVENTIONAL_MEMORY) {

This way, get_dram_base() will always find the first free region.

(In reply to Gary Ching-Pang Lin from comment #23)
Just checked the u-boot code, it always marks the first page as WB and
RESERVED for its own spin table.

Maybe we can change the logic of get_dram_base() in kernel from

if (md->attribute & EFI_MEMORY_WB) {

to

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;
}

--
You are receiving this mail because:
You are on the CC list for the bug.
< Previous Next >