From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58950) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8cpD-0007du-TC for qemu-devel@nongnu.org; Wed, 29 Jan 2014 16:37:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8cp5-0008W6-Bm for qemu-devel@nongnu.org; Wed, 29 Jan 2014 16:37:35 -0500 Received: from mail-qc0-x230.google.com ([2607:f8b0:400d:c01::230]:43164) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8cp4-0008Vp-Vy for qemu-devel@nongnu.org; Wed, 29 Jan 2014 16:37:27 -0500 Received: by mail-qc0-f176.google.com with SMTP id e16so3676202qcx.21 for ; Wed, 29 Jan 2014 13:37:26 -0800 (PST) Date: Wed, 29 Jan 2014 16:36:50 -0500 From: "Gabriel L. Somlo" Message-ID: <20140129213649.GE29329@ERROL.INI.CMU.EDU> References: <20140121181101.GB1323@ERROL.INI.CMU.EDU> <20140121183851.GA26382@redhat.com> <20140124164608.GB1293@ERROL.INI.CMU.EDU> <20140125000945.GA10357@crash.ini.cmu.edu> <6FAEE645-799D-4535-B568-75AB5E4D206C@suse.de> <20140127225115.GA29329@ERROL.INI.CMU.EDU> <20140128164536.GB29329@ERROL.INI.CMU.EDU> <52E90D87.4010606@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <52E90D87.4010606@suse.de> Subject: Re: [Qemu-devel] OSX guest vs. kvm ioapic polarity List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: "imammedo@redhat.com" , "pbonzini@redhat.com" , "lersek@redhat.com" , "qemu-devel@nongnu.org" , "Michael S. Tsirkin" On Wed, Jan 29, 2014 at 03:17:43PM +0100, Alexander Graf wrote: > >Do you belive there's a chance we can work around this by just tweaking > >ACPI on the QEMU side, and thus eliminate the need for a KVM patch ? > > Yes, that's what I was hoping. What does the IRQ link property look > like on a real Mac? On the varous Mac models on which I pulled the DSDT, I have something like: Device (LNKA) { Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) So yeah, definitely "Low", not "High". Interestingly enough, on my Dell Latitude D630, the various LNK* nodes also have "ActiveLow" in their _PRS methods! Same with my Dell R410 server. > We define PCI IRQ links as > > 254 Name(_PRS, ResourceTemplate() { \ > 255 Interrupt(, Level, ActiveHigh, Shared) { \ > 256 5, 10, 11 \ > 257 } \ > 258 }) \ > > Have you tried to change this to ActiveLow? Yes, and I also tried adding a bunch of extra IRQ numbers, but to no avail. OS X will boot fine with the one-liner KVM patch removing the statement: "irq_level ^= entry.fields.polarity;" regardless of how LNK*._PRS is configured, and will hang without the patch, also regardless of LNK*._PRS. Thanks, --G