lkml.org 
[lkml]   [2016]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Map in physical addresses in efi_map_region_fixed
> > Why do you guys need the physical mapping all of a sudden?
>
> It's not that we need it all of the sudden, necessarily, it's just that
> we've had to make other changes to make things work with the new,
> (almost) completely isolated, EFI page tables. We ended up choosing the
> lesser of two evils, and have decided to temporarily rely on the
> physical address of our runtime code, instead of continuing to rely on
> EFI_OLD_MEMMAP.

In efi_map_region, there is already mapped md->phys_addr for broken
firmware. SGI still need EFI_OLD_MEMMAP? I means in 1st kernel instead
of kexec kernel.

void __init efi_map_region(efi_memory_desc_t *md)
{
unsigned long size = md->num_pages << PAGE_SHIFT;
u64 pa = md->phys_addr;

if (efi_enabled(EFI_OLD_MEMMAP))
return old_map_region(md);

/*
* Make sure the 1:1 mappings are present as a catch-all for
* b0rked
* firmware which doesn't update all internal pointers after
* switching
* to virtual mode and would otherwise crap on us.
*/
__map_region(md, md->phys_addr);

[snip]

Thanks
Dave

\
 
 \ /
  Last update: 2016-09-17 09:57    [W:0.193 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site