From: Jason Davis This update only affects Unisys' ES7000 machines. The patch reflects a change needed to determine which generation of ES7000 is currently running. The next generation of ES7000s will have conventional legacy support so the patch accommodates for this. This patch has been tested and verified on both an authentic 5xx ES7000 box and the next generation ES7000 box. Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/kernel/mpparse.c | 4 ++-- 25-akpm/arch/i386/mach-es7000/es7000plat.c | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff -puN arch/i386/kernel/mpparse.c~es7000-legacy-mappings-update arch/i386/kernel/mpparse.c --- 25/arch/i386/kernel/mpparse.c~es7000-legacy-mappings-update 2005-03-14 19:29:54.000000000 -0800 +++ 25-akpm/arch/i386/kernel/mpparse.c 2005-03-14 19:29:54.000000000 -0800 @@ -996,9 +996,9 @@ void __init mp_config_acpi_legacy_irqs ( Dprintk("Bus #%d is ISA\n", MP_ISA_BUS); /* - * ES7000 has no legacy identity mappings + * Older generations of ES7000 have no legacy identity mappings */ - if (es7000_plat) + if (es7000_plat && es7000_plat < 2) return; /* diff -puN arch/i386/mach-es7000/es7000plat.c~es7000-legacy-mappings-update arch/i386/mach-es7000/es7000plat.c --- 25/arch/i386/mach-es7000/es7000plat.c~es7000-legacy-mappings-update 2005-03-14 19:29:54.000000000 -0800 +++ 25-akpm/arch/i386/mach-es7000/es7000plat.c 2005-03-14 19:29:54.000000000 -0800 @@ -138,7 +138,14 @@ parse_unisys_oem (char *oemptr, int oem_ es7000_plat = 0; } else { printk("\nEnabling ES7000 specific features...\n"); - es7000_plat = 1; + /* + * Check to see if this is a x86_64 ES7000 machine. + */ + if (!(boot_cpu_data.x86 <= 15 && boot_cpu_data.x86_model <= 2)) + es7000_plat = 2; + else + es7000_plat = 1; + ioapic_renumber_irq = es7000_rename_gsi; } return es7000_plat; _