Messages in this thread Patch in this message | | | From | Borislav Petkov <> | Subject | [PATCH 2/3] efi: Dump the EFI page table | Date | Tue, 17 Dec 2013 00:36:36 +0100 |
| |
From: Borislav Petkov <bp@suse.de>
This is very useful for debugging issues with the recently added pagetable switching code for EFI virtual mode.
Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/platform/efi/efi.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 7d8caccbf2f3..51d6285701e9 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -740,6 +740,15 @@ void efi_memory_uc(u64 addr, unsigned long size) set_memory_uc(addr, npages); } +static void efi_dump_pagetable(void) +{ +#if defined(EFI_DEBUG) && defined(CONFIG_X86_PTDUMP) + pgd_t *pgd = (pgd_t *)__va(real_mode_header->trampoline_pgd); + + walk_pgd_level(NULL, pgd); +#endif +} + void __init old_map_region(efi_memory_desc_t *md) { u64 start_pfn, end_pfn, end; @@ -869,6 +878,8 @@ void __init efi_enter_virtual_mode(void) efi_setup_page_tables(); efi_sync_low_kernel_mappings(); + efi_dump_pagetable(); + status = phys_efi_set_virtual_address_map( memmap.desc_size * count, memmap.desc_size, -- 1.8.4
| |