From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MXxKv-0002mu-NX for qemu-devel@nongnu.org; Mon, 03 Aug 2009 09:12:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MXxKq-0002lY-Et for qemu-devel@nongnu.org; Mon, 03 Aug 2009 09:12:20 -0400 Received: from [199.232.76.173] (port=52032 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MXxKq-0002lR-5V for qemu-devel@nongnu.org; Mon, 03 Aug 2009 09:12:16 -0400 Received: from mx2.redhat.com ([66.187.237.31]:59221) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MXxKp-0007zA-Kk for qemu-devel@nongnu.org; Mon, 03 Aug 2009 09:12:15 -0400 Message-ID: <4A76E369.3010608@redhat.com> Date: Mon, 03 Aug 2009 16:17:29 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4A705561.80701@sgi.com> <20090729232748.GA16198@morn.localdomain> <4A719C3D.4080702@sgi.com> <4A71C4E4.6030309@us.ibm.com> In-Reply-To: <4A71C4E4.6030309@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH] Seabios irq override v3 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Beth Kon Cc: Kevin O'Connor , Jes Sorensen , qemu-devel , Anthony Liguori On 07/30/2009 07:05 PM, Beth Kon wrote: > Jes Sorensen wrote: >> On 07/30/2009 01:27 AM, Kevin O'Connor wrote: >>> I made some cleanups and committed a modified patch. >>> >>> I'd like to see what the dynamic irq0override code looks like. The >>> kvm on my machine is a little older and it fails when irq0override is >>> set. >>> >>> Also, there is a set of irq overrides in the acpi madt code for kvm >>> that set irq 5,9,10,11 to level triggered interrupts. I don't see >>> this in the latest kvm - can this now be removed? >> >> Hi Kevin, >> >> I justed tested your version and it works fine here. If I got some of >> the formatting wrong, please let me know and I'll try to get it right >> in the next set. >> >> The tricky part with the irqoverride is that it is used by recent KVM, >> but not older versions. qemu-kvm has a fw_cfg flag it uses to set (and >> not set it when it detects an older version of KVM), however upstream >> QEMU relies on the irqoverride unconditionally. >> >> As the BIOS cannot detect which version of KVM it is running on, there >> are two options, either we port the irqoverride fw_cfg to upstream QEMU, >> or accept that Seabios will not work on older versions of KVM. I don't >> think Anthony is super excited about adding this to upstream QEMU since >> it is for legacy support, and I don't anticipate any distros starting >> to ship Seabios with older version of KVM. I think it would be simpler >> to just accept it won't work with the older KVM. >> >> I thought about how to best do the dynamic override thing, and I think >> the best thing is to just set it when we detect we are running on QEMU, >> be it QEMU, KVM, or KQEMU. I have a patch that allows me to remove all >> instances of CONFIG_KVM in Seabios, by using a new fw_cfg that tells the >> bios what emulator it is running on. It would be interesting to see if >> we could come up with a way for Coreboot to flag as well, so we can >> share a single BIOS binary. >> >> For the MADT stuff, I really don't know. Maybe Avi or Anthony can >> comment? > if (PCI_ISA_IRQ_MASK & (1U << i)) { > memset(int_override, 0, sizeof(*int_override)); > int_override->type = APIC_XRUPT_OVERRIDE; > int_override->length = sizeof(*int_override); > int_override->source = i; > int_override->gsi = i; > int_override->flags = 0xd; /* active high, level > triggered */ > } else { > > The above code is still in qemu-kvm/kvm/bios/rombios32.c, but has > never been in qemu/bochs bios. I don't understand why. > IIRC this is needed when using PCI without ACPI. qemu.git doesn't need it since the qemu ioapic does not implement polarity. The guest assumes active low but qemu implements active high. -- error compiling committee.c: too many arguments to function