* Alex Thorlton <[email protected]> wrote:

> A while back, commit d394f2d9d8e1 ("x86/platform/UV: Remove EFI memmap
> quirk for UV2+") changed uv_system_init to only call map_low_mmrs on
> older UV1 hardware, which requires EFI_OLD_MEMMAP to be set in order to
> boot.  The recent changes to the EFI memory mapping code in commit
> d2f7cbe7b26a ("x86/efi: Runtime services virtual mapping") exposed some
> issues with the fact that we were relying on the EFI memory mapping
> mechanisms to map in our MMRs for us, after commit d394f2d9d8e1.
> 
> Rather than revert the entire commit and go back to forcing
> EFI_OLD_MEMMAP on all UVs, we're going to add the call to map_low_mmrs
> back into uv_system_init, and then fix up our EFI runtime calls to use
> the appropriate page table.
> 
> For now, UV2+ will still need efi=old_map to boot, but there will be
> other changes soon that should eliminate the need for this.
> 
> Signed-off-by: Alex Thorlton <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: Matt Fleming <[email protected]>
> Cc: Adam Buchbinder <[email protected]>
> Cc: Len Brown <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Russ Anderson <[email protected]>
> Cc: Dimitri Sivanich <[email protected]>
> Cc: [email protected]
> ---
>  arch/x86/kernel/apic/x2apic_uv_x.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c 
> b/arch/x86/kernel/apic/x2apic_uv_x.c
> index 8f4942e..d7ce96a 100644
> --- a/arch/x86/kernel/apic/x2apic_uv_x.c
> +++ b/arch/x86/kernel/apic/x2apic_uv_x.c
> @@ -891,9 +891,7 @@ void __init uv_system_init(void)
>       }
>       pr_info("UV: Found %s hub\n", hub);
>  
> -     /* We now only need to map the MMRs on UV1 */
> -     if (is_uv1_hub())
> -             map_low_mmrs();
> +     map_low_mmrs();
>  
>       m_n_config.v = uv_read_local_mmr(UVH_RH_GAM_CONFIG_MMR );
>       m_val = m_n_config.s.m_skt;

I suppose this patch should go upstream via x86/urgent, as both of the 
dependent 
commits are already upstream:

  d2f7cbe7b26a x86/efi: Runtime services virtual mapping
  d394f2d9d8e1 x86/platform/UV: Remove EFI memmap quirk for UV2+

... right?

Thanks,

        Ingo

Reply via email to