Messages in this thread Patch in this message | | | Date | Mon, 21 Oct 2013 20:47:39 +0800 | From | Dave Young <> | Subject | Re: [PATCH 12/12] EFI: Runtime services virtual mapping |
| |
On 10/14/13 at 05:58pm, Borislav Petkov wrote: > On Sun, Oct 13, 2013 at 11:25:21AM +0200, Borislav Petkov wrote: > > In the meantime, I'll finish randconfigs testing of the patches and > > upload the latest version to k-org, I'll let you know. > > Ok, here it is: > > git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git#efi > > This version seems to work on most boxes except Matt's Asus half-life > zombie.
What's the status of this series?
> > Let me know if there are issues,
I need below patch for mapping to fixed virt addr passed from 1st kernel. Would you like to add it to your series or I send out it later?
BTW, what tree should my patches based on? Matt's next tree? Looks like your tree is not consistant with Matt's tree.
--
Add function efi_map_region_fixed for mapping to a specific virt address.
Signed-off-by: Dave Young <dyoung@redhat.com> --- arch/x86/platform/efi/efi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
--- bp.orig/arch/x86/platform/efi/efi.c +++ bp/arch/x86/platform/efi/efi.c @@ -1086,6 +1086,19 @@ static void efi_merge_regions(void) } } +void __init efi_map_region_fixed(efi_memory_desc_t *md, u64 virt_addr) +{ + pgd_t *pgd = (pgd_t *)__va(real_mode_header->trampoline_pgd); + unsigned long pf = 0; + + if (!(md->attribute & EFI_MEMORY_WB)) + pf |= _PAGE_PCD; + + if(kernel_map_pages_in_pgd(pgd, md->phys_addr, virt_addr, md->num_pages, pf)) + pr_warning("Error mapping PA 0x%llx -> VA 0x%llx!\n", + md->phys_addr, virt_addr); +} + /* * Map efi memory ranges for runtime serivce * Return the new memmap with updated virtual addrresses.
| |