x86: EFI set_memory_x()/set_memory_uc() fixes
The EFI-runtime mapping code changed a larger memory area than it should have, due to a pages/bytes parameter mixup. noticed by Andi Kleen. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
cae30f8270
commit
3223f59f9c
@ -391,7 +391,7 @@ static void __init runtime_code_page_mkexec(void)
|
||||
if (md->type != EFI_RUNTIME_SERVICES_CODE)
|
||||
continue;
|
||||
|
||||
set_memory_x(md->virt_addr, md->num_pages << EFI_PAGE_SHIFT);
|
||||
set_memory_x(md->virt_addr, md->num_pages);
|
||||
}
|
||||
}
|
||||
|
||||
@ -434,7 +434,7 @@ void __init efi_enter_virtual_mode(void)
|
||||
}
|
||||
|
||||
if (!(md->attribute & EFI_MEMORY_WB))
|
||||
set_memory_uc(md->virt_addr, size);
|
||||
set_memory_uc(md->virt_addr, md->num_pages);
|
||||
|
||||
systab = (u64) (unsigned long) efi_phys.systab;
|
||||
if (md->phys_addr <= systab && systab < end) {
|
||||
|
Loading…
Reference in New Issue
Block a user