File tree Expand file tree Collapse file tree 2 files changed +17
-5
lines changed Expand file tree Collapse file tree 2 files changed +17
-5
lines changed Original file line number Diff line number Diff line change @@ -889,7 +889,10 @@ void __init uv_system_init(void)
889
889
return ;
890
890
}
891
891
pr_info ("UV: Found %s hub\n" , hub );
892
- map_low_mmrs ();
892
+
893
+ /* We now only need to map the MMRs on UV1 */
894
+ if (is_uv1_hub ())
895
+ map_low_mmrs ();
893
896
894
897
m_n_config .v = uv_read_local_mmr (UVH_RH_GAM_CONFIG_MMR );
895
898
m_val = m_n_config .s .m_skt ;
Original file line number Diff line number Diff line change 8
8
#include <linux/memblock.h>
9
9
#include <linux/bootmem.h>
10
10
#include <linux/acpi.h>
11
+ #include <linux/dmi.h>
11
12
#include <asm/efi.h>
12
13
#include <asm/uv/uv.h>
13
14
@@ -248,6 +249,16 @@ int __init efi_reuse_config(u64 tables, int nr_tables)
248
249
return ret ;
249
250
}
250
251
252
+ static const struct dmi_system_id sgi_uv1_dmi [] = {
253
+ { NULL , "SGI UV1" ,
254
+ { DMI_MATCH (DMI_PRODUCT_NAME , "Stoutland Platform" ),
255
+ DMI_MATCH (DMI_PRODUCT_VERSION , "1.0" ),
256
+ DMI_MATCH (DMI_BIOS_VENDOR , "SGI.COM" ),
257
+ }
258
+ },
259
+ { } /* NULL entry stops DMI scanning */
260
+ };
261
+
251
262
void __init efi_apply_memmap_quirks (void )
252
263
{
253
264
/*
@@ -260,10 +271,8 @@ void __init efi_apply_memmap_quirks(void)
260
271
efi_unmap_memmap ();
261
272
}
262
273
263
- /*
264
- * UV doesn't support the new EFI pagetable mapping yet.
265
- */
266
- if (is_uv_system ())
274
+ /* UV2+ BIOS has a fix for this issue. UV1 still needs the quirk. */
275
+ if (dmi_check_system (sgi_uv1_dmi ))
267
276
set_bit (EFI_OLD_MEMMAP , & efi .flags );
268
277
}
269
278
You can’t perform that action at this time.
0 commit comments