diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-02-03 11:30:36 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-02-03 11:30:36 +0100 |
commit | 03e075b38e6cd25267c8d6e2797fa4537ca3348d (patch) | |
tree | 608ece74f1b3cca290e3408a29cf73e822f0ef4d /arch/x86/platform/efi/quirks.c | |
parent | 753b11ef8e92a1c1bbe97f2a5ec14bdd1ef2e6fe (diff) | |
parent | 34229b277480f46c1e9a19f027f30b074512e68b (diff) | |
download | op-kernel-dev-03e075b38e6cd25267c8d6e2797fa4537ca3348d.zip op-kernel-dev-03e075b38e6cd25267c8d6e2797fa4537ca3348d.tar.gz |
Merge branch 'linus' into efi/core, to refresh the branch and to pick up recent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/platform/efi/quirks.c')
-rw-r--r-- | arch/x86/platform/efi/quirks.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c index 6452070..4535046 100644 --- a/arch/x86/platform/efi/quirks.c +++ b/arch/x86/platform/efi/quirks.c @@ -10,6 +10,7 @@ #include <linux/memblock.h> #include <linux/bootmem.h> #include <linux/acpi.h> +#include <linux/dmi.h> #include <asm/efi.h> #include <asm/uv/uv.h> @@ -250,6 +251,16 @@ out: return ret; } +static const struct dmi_system_id sgi_uv1_dmi[] = { + { NULL, "SGI UV1", + { DMI_MATCH(DMI_PRODUCT_NAME, "Stoutland Platform"), + DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"), + DMI_MATCH(DMI_BIOS_VENDOR, "SGI.COM"), + } + }, + { } /* NULL entry stops DMI scanning */ +}; + void __init efi_apply_memmap_quirks(void) { /* @@ -262,10 +273,8 @@ void __init efi_apply_memmap_quirks(void) efi_unmap_memmap(); } - /* - * UV doesn't support the new EFI pagetable mapping yet. - */ - if (is_uv_system()) + /* UV2+ BIOS has a fix for this issue. UV1 still needs the quirk. */ + if (dmi_check_system(sgi_uv1_dmi)) set_bit(EFI_OLD_MEMMAP, &efi.flags); } |