Messages in this thread Patch in this message | | | Date | Wed, 17 Dec 2003 08:56:34 -0500 (EST) | From | Zwane Mwaikambo <> | Subject | Re: 2.6.0-test11-mm1 |
| |
Hullo Andrew, I believe this was the intention;
On Wed, 17 Dec 2003, Andrew Morton wrote:
> mpparse_es7000.patch > mpparse: fix IRQ breakage from the es7000 merge
For ES7000 add an offset of 16 to the irq in order to setup a mapping where ISA/legacy interrupts are in the 0-15 range and PCI 16 and above. This was a cleanup fix in order to facilitate easy differentiating between legacy and non legacy interrupt setup.
=== The ES7000 merge added a bit of code of offset the IRQ numbers. We're not too sure why; it wasn't changelogged.
But it broke other systems, so this patch arranges for that code to only be activated on es7000 machines.
arch/i386/kernel/dmi_scan.c | 1 + arch/i386/kernel/mpparse.c | 7 +++++-- arch/i386/mach-es7000/es7000.c | 2 -- include/asm-i386/system.h | 1 + 4 files changed, 7 insertions(+), 4 deletions(-)
diff -puN arch/i386/kernel/dmi_scan.c~mpparse_es7000 arch/i386/kernel/dmi_scan.c --- 25/arch/i386/kernel/dmi_scan.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800 +++ 25-akpm/arch/i386/kernel/dmi_scan.c 2003-11-21 01:30:11.000000000 -0800 @@ -16,6 +16,7 @@ EXPORT_SYMBOL(dmi_broken);
int is_sony_vaio_laptop; int is_unsafe_smbus; +int es7000_plat = 0;
struct dmi_header { diff -puN arch/i386/kernel/mpparse.c~mpparse_es7000 arch/i386/kernel/mpparse.c --- 25/arch/i386/kernel/mpparse.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800 +++ 25-akpm/arch/i386/kernel/mpparse.c 2003-11-21 01:30:11.000000000 -0800 @@ -1129,8 +1129,11 @@ void __init mp_parse_prt (void) continue; ioapic_pin = irq - mp_ioapic_routing[ioapic].irq_start;
- if (!ioapic && (irq < 16)) - irq += 16; + if (es7000_plat) { + if (!ioapic && (irq < 16)) + irq += 16; + } + /* * Avoid pin reprogramming. PRTs typically include entries * with redundant pin->irq mappings (but unique PCI devices); diff -puN arch/i386/mach-es7000/es7000.c~mpparse_es7000 arch/i386/mach-es7000/es7000.c --- 25/arch/i386/mach-es7000/es7000.c~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800 +++ 25-akpm/arch/i386/mach-es7000/es7000.c 2003-11-21 01:30:11.000000000 -0800 @@ -51,8 +51,6 @@ struct mip_reg *host_reg; int mip_port; unsigned long mip_addr, host_addr;
-static int es7000_plat; - /* * Parse the OEM Table */ diff -puN include/asm-i386/system.h~mpparse_es7000 include/asm-i386/system.h --- 25/include/asm-i386/system.h~mpparse_es7000 2003-11-21 01:30:11.000000000 -0800 +++ 25-akpm/include/asm-i386/system.h 2003-11-21 01:30:11.000000000 -0800 @@ -470,6 +470,7 @@ void enable_hlt(void);
extern unsigned long dmi_broken; extern int is_sony_vaio_laptop; +extern int es7000_plat;
#define BROKEN_ACPI_Sx 0x0001 #define BROKEN_INIT_AFTER_S1 0x0002 _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |