From: Russ Anderson <rja-sJ/iWh9BUns@public.gmane.org>
To: Borislav Petkov <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
Cc: Alex Thorlton <athorlton-sJ/iWh9BUns@public.gmane.org>,
Matt Fleming
<matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>,
Linux EFI <linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Borislav Petkov <bp-l3A5Bk7waGM@public.gmane.org>
Subject: Re: [PATCH] efi: Quirk out SGI UV
Date: Tue, 4 Mar 2014 17:06:15 -0600 [thread overview]
Message-ID: <20140304230615.GF8556@sgi.com> (raw)
In-Reply-To: <1393948937-21840-1-git-send-email-bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
On Tue, Mar 04, 2014 at 05:02:17PM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp-l3A5Bk7waGM@public.gmane.org>
>
> Getting this thing to work with the new mapping scheme would need more
> work.
Thanks Boris. Allows SGI UV to boot (without the extra bootline).
Acked-by: Russ Anderson <rja-sJ/iWh9BUns@public.gmane.org>
> Signed-off-by: Borislav Petkov <bp-l3A5Bk7waGM@public.gmane.org>
> ---
> arch/x86/include/asm/efi.h | 1 +
> arch/x86/kernel/setup.c | 10 ++--------
> arch/x86/platform/efi/efi.c | 20 ++++++++++++++++++++
> 3 files changed, 23 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
> index e985d6bf7d3a..86d1fd4bf24c 100644
> --- a/arch/x86/include/asm/efi.h
> +++ b/arch/x86/include/asm/efi.h
> @@ -135,6 +135,7 @@ extern void __init old_map_region(efi_memory_desc_t *md);
> extern void __init runtime_code_page_mkexec(void);
> extern void __init efi_runtime_mkexec(void);
> extern void __init efi_dump_pagetable(void);
> +extern void __init efi_apply_memmap_quirks(void);
>
> struct efi_setup_data {
> u64 fw_vendor;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 830ae2d95450..09c76d265550 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1238,14 +1238,8 @@ void __init setup_arch(char **cmdline_p)
> register_refined_jiffies(CLOCK_TICK_RATE);
>
> #ifdef CONFIG_EFI
> - /* Once setup is done above, unmap the EFI memory map on
> - * mismatched firmware/kernel archtectures since there is no
> - * support for runtime services.
> - */
> - if (efi_enabled(EFI_BOOT) && !efi_is_native()) {
> - pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n");
> - efi_unmap_memmap();
> - }
> + if (efi_enabled(EFI_BOOT))
> + efi_apply_memmap_quirks();
> #endif
> }
>
> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> index 482986c3afc5..518aa8540a6d 100644
> --- a/arch/x86/platform/efi/efi.c
> +++ b/arch/x86/platform/efi/efi.c
> @@ -52,6 +52,7 @@
> #include <asm/tlbflush.h>
> #include <asm/x86_init.h>
> #include <asm/rtc.h>
> +#include <asm/uv/uv.h>
>
> #define EFI_DEBUG
>
> @@ -1298,3 +1299,22 @@ static int __init parse_efi_cmdline(char *str)
> return 0;
> }
> early_param("efi", parse_efi_cmdline);
> +
> +void __init efi_apply_memmap_quirks(void)
> +{
> + /*
> + * Once setup is done earlier, unmap the EFI memory map on mismatched
> + * firmware/kernel architectures since there is no support for runtime
> + * services.
> + */
> + if (!efi_is_native()) {
> + pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n");
> + efi_unmap_memmap();
> + }
> +
> + /*
> + * UV doesn't support the new EFI pagetable mapping yet.
> + */
> + if (is_uv_system())
> + set_bit(EFI_OLD_MEMMAP, &efi.flags);
> +}
> --
> 1.9.0
--
Russ Anderson, Kernel and Performance Software Team Manager
SGI - Silicon Graphics Inc rja-sJ/iWh9BUns@public.gmane.org
WARNING: multiple messages have this Message-ID (diff)
From: Russ Anderson <rja@sgi.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Alex Thorlton <athorlton@sgi.com>,
Matt Fleming <matt@console-pimps.org>,
Linux EFI <linux-efi@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>, Borislav Petkov <bp@suse.de>
Subject: Re: [PATCH] efi: Quirk out SGI UV
Date: Tue, 4 Mar 2014 17:06:15 -0600 [thread overview]
Message-ID: <20140304230615.GF8556@sgi.com> (raw)
In-Reply-To: <1393948937-21840-1-git-send-email-bp@alien8.de>
On Tue, Mar 04, 2014 at 05:02:17PM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
>
> Getting this thing to work with the new mapping scheme would need more
> work.
Thanks Boris. Allows SGI UV to boot (without the extra bootline).
Acked-by: Russ Anderson <rja@sgi.com>
> Signed-off-by: Borislav Petkov <bp@suse.de>
> ---
> arch/x86/include/asm/efi.h | 1 +
> arch/x86/kernel/setup.c | 10 ++--------
> arch/x86/platform/efi/efi.c | 20 ++++++++++++++++++++
> 3 files changed, 23 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
> index e985d6bf7d3a..86d1fd4bf24c 100644
> --- a/arch/x86/include/asm/efi.h
> +++ b/arch/x86/include/asm/efi.h
> @@ -135,6 +135,7 @@ extern void __init old_map_region(efi_memory_desc_t *md);
> extern void __init runtime_code_page_mkexec(void);
> extern void __init efi_runtime_mkexec(void);
> extern void __init efi_dump_pagetable(void);
> +extern void __init efi_apply_memmap_quirks(void);
>
> struct efi_setup_data {
> u64 fw_vendor;
> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index 830ae2d95450..09c76d265550 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1238,14 +1238,8 @@ void __init setup_arch(char **cmdline_p)
> register_refined_jiffies(CLOCK_TICK_RATE);
>
> #ifdef CONFIG_EFI
> - /* Once setup is done above, unmap the EFI memory map on
> - * mismatched firmware/kernel archtectures since there is no
> - * support for runtime services.
> - */
> - if (efi_enabled(EFI_BOOT) && !efi_is_native()) {
> - pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n");
> - efi_unmap_memmap();
> - }
> + if (efi_enabled(EFI_BOOT))
> + efi_apply_memmap_quirks();
> #endif
> }
>
> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> index 482986c3afc5..518aa8540a6d 100644
> --- a/arch/x86/platform/efi/efi.c
> +++ b/arch/x86/platform/efi/efi.c
> @@ -52,6 +52,7 @@
> #include <asm/tlbflush.h>
> #include <asm/x86_init.h>
> #include <asm/rtc.h>
> +#include <asm/uv/uv.h>
>
> #define EFI_DEBUG
>
> @@ -1298,3 +1299,22 @@ static int __init parse_efi_cmdline(char *str)
> return 0;
> }
> early_param("efi", parse_efi_cmdline);
> +
> +void __init efi_apply_memmap_quirks(void)
> +{
> + /*
> + * Once setup is done earlier, unmap the EFI memory map on mismatched
> + * firmware/kernel architectures since there is no support for runtime
> + * services.
> + */
> + if (!efi_is_native()) {
> + pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n");
> + efi_unmap_memmap();
> + }
> +
> + /*
> + * UV doesn't support the new EFI pagetable mapping yet.
> + */
> + if (is_uv_system())
> + set_bit(EFI_OLD_MEMMAP, &efi.flags);
> +}
> --
> 1.9.0
--
Russ Anderson, Kernel and Performance Software Team Manager
SGI - Silicon Graphics Inc rja@sgi.com
next prev parent reply other threads:[~2014-03-04 23:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-04 16:02 [PATCH] efi: Quirk out SGI UV Borislav Petkov
2014-03-04 16:02 ` Borislav Petkov
[not found] ` <1393948937-21840-1-git-send-email-bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
2014-03-04 17:27 ` Matt Fleming
2014-03-04 17:27 ` Matt Fleming
2014-03-04 23:06 ` Russ Anderson [this message]
2014-03-04 23:06 ` Russ Anderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140304230615.GF8556@sgi.com \
--to=rja-sj/iwh9buns@public.gmane.org \
--cc=athorlton-sJ/iWh9BUns@public.gmane.org \
--cc=bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org \
--cc=bp-l3A5Bk7waGM@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.