diff options
Diffstat (limited to 'pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch')
-rw-r--r-- | pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch b/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch deleted file mode 100644 index 80e7716c6b..0000000000 --- a/pc-bios/bios-pq/0013_fix-non-acpi-timer-interrupt-routing.patch +++ /dev/null @@ -1,60 +0,0 @@ -From c09142004a409bf27070939f470c5e0b37595a5a Mon Sep 17 00:00:00 2001 -From: Beth Kon <eak@us.ibm.com> -Date: Fri, 19 Jun 2009 14:22:00 -0400 -Subject: [PATCH] Fix non-ACPI Timer Interrupt Routing - v3 - -Replicate ACPI irq0->inti2 override in mp table for non-acpi case. - -v1 -> v2 adds comment suggested by Ryan. -v2 -> v3 clarifies comment and corrects entry count - -Signed-off-by: Beth Kon <eak@us.ibm.com> -Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> ---- - bios/rombios32.c | 14 ++++++++++++++ - 1 files changed, 14 insertions(+), 0 deletions(-) - -diff --git a/bios/rombios32.c b/bios/rombios32.c -index 1a1ed64..d789e20 100644 ---- a/bios/rombios32.c -+++ b/bios/rombios32.c -@@ -1124,7 +1124,11 @@ static void mptable_init(void) - putstr(&q, "0.1 "); /* vendor id */ - putle32(&q, 0); /* OEM table ptr */ - putle16(&q, 0); /* OEM table size */ -+#ifdef BX_QEMU -+ putle16(&q, smp_cpus + 17); /* entry count */ -+#else - putle16(&q, smp_cpus + 18); /* entry count */ -+#endif - putle32(&q, 0xfee00000); /* local APIC addr */ - putle16(&q, 0); /* ext table length */ - putb(&q, 0); /* ext table checksum */ -@@ -1166,6 +1170,12 @@ static void mptable_init(void) - - /* irqs */ - for(i = 0; i < 16; i++) { -+#ifdef BX_QEMU -+ /* One entry per ioapic interrupt destination. Destination 2 is covered -+ by irq0->inti2 override (i == 0). Source IRQ 2 is unused */ -+ if (i == 2) -+ continue; -+#endif - putb(&q, 3); /* entry type = I/O interrupt */ - putb(&q, 0); /* interrupt type = vectored interrupt */ - putb(&q, 0); /* flags: po=0, el=0 */ -@@ -1173,7 +1183,11 @@ static void mptable_init(void) - putb(&q, 0); /* source bus ID = ISA */ - putb(&q, i); /* source bus IRQ */ - putb(&q, ioapic_id); /* dest I/O APIC ID */ -+#ifdef BX_QEMU -+ putb(&q, i == 0 ? 2 : i); /* dest I/O APIC interrupt in */ -+#else - putb(&q, i); /* dest I/O APIC interrupt in */ -+#endif - } - /* patch length */ - len = q - mp_config_table; --- -1.6.2.5 - |