On Wed, Jan 29, 2014 at 04:36:50PM -0500, Gabriel L. Somlo wrote: > 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
Weird - I was sure polarity is 0 ... Can you printk this field and irq_level value pls?