From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LtjQt-0004Rn-2b for qemu-devel@nongnu.org; Tue, 14 Apr 2009 10:16:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LtjQo-0004Qf-3i for qemu-devel@nongnu.org; Tue, 14 Apr 2009 10:16:14 -0400 Received: from [199.232.76.173] (port=45639 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LtjQo-0004QY-0G for qemu-devel@nongnu.org; Tue, 14 Apr 2009 10:16:10 -0400 Received: from e3.ny.us.ibm.com ([32.97.182.143]:36012) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LtjQn-000552-NQ for qemu-devel@nongnu.org; Tue, 14 Apr 2009 10:16:09 -0400 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e3.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id n3EECZqu009717 for ; Tue, 14 Apr 2009 10:12:35 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n3EEG8cG120262 for ; Tue, 14 Apr 2009 10:16:08 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n3EEG7a9005126 for ; Tue, 14 Apr 2009 10:16:07 -0400 Message-ID: <49E49ABE.8050802@us.ibm.com> Date: Tue, 14 Apr 2009 10:16:30 -0400 From: Beth Kon MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090501050000050308040503" Subject: [Qemu-devel] [PATCH] Fix non-ACPI Timer Interrupt Routing - v2 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel , bochs-developers@lists.sourceforge.net This is a multi-part message in MIME format. --------------090501050000050308040503 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Replicate ACPI irq0->inti2 override in mp table for non-acpi case. v1 -> v2 adds comment suggested by Ryan. Signed-off-by: Beth Kon --------------090501050000050308040503 Content-Type: text/x-diff; name="non_acpi_irqrouting.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="non_acpi_irqrouting.patch" diff --git a/bios/BIOS-bochs-latest b/bios/BIOS-bochs-latest index ebec71b..82d7792 100644 Binary files a/bios/BIOS-bochs-latest and b/bios/BIOS-bochs-latest differ diff --git a/bios/rombios32.c b/bios/rombios32.c index 7be4216..dc7b5f3 100644 --- a/bios/rombios32.c +++ b/bios/rombios32.c @@ -1168,6 +1168,12 @@ static void mptable_init(void) /* irqs */ for(i = 0; i < 16; i++) { +#ifdef BX_QEMU + /* One entry per ioapic input. Input 2 is covered by + irq0->inti2 override (i == 0). 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 */ @@ -1175,7 +1181,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; --------------090501050000050308040503--