[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 5 May 2016 09:53:29 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Alex Thorlton <athorlton@....com>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Matt Fleming <matt@...eblueprint.co.uk>,
Adam Buchbinder <adam.buchbinder@...il.com>,
Len Brown <len.brown@...el.com>, Borislav Petkov <bp@...e.de>,
Russ Anderson <rja@....com>,
Dimitri Sivanich <sivanich@....com>, x86@...nel.org
Subject: Re: [PATCH] x86/platform/UV: Bring back the call to map_low_mmrs in
uv_system_init
* Alex Thorlton <athorlton@....com> 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 <athorlton@....com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: "H. Peter Anvin" <hpa@...or.com>
> Cc: Matt Fleming <matt@...eblueprint.co.uk>
> Cc: Adam Buchbinder <adam.buchbinder@...il.com>
> Cc: Len Brown <len.brown@...el.com>
> Cc: Borislav Petkov <bp@...e.de>
> Cc: Russ Anderson <rja@....com>
> Cc: Dimitri Sivanich <sivanich@....com>
> Cc: x86@...nel.org
> ---
> 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
Powered by blists - more mailing lists