From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XW6y2-0006Sh-Ci for qemu-devel@nongnu.org; Mon, 22 Sep 2014 13:00:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XW6xt-0007NF-8f for qemu-devel@nongnu.org; Mon, 22 Sep 2014 13:00:02 -0400 Received: from mail-qc0-x22a.google.com ([2607:f8b0:400d:c01::22a]:59925) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XW6xt-0007M2-4L for qemu-devel@nongnu.org; Mon, 22 Sep 2014 12:59:53 -0400 Received: by mail-qc0-f170.google.com with SMTP id c9so394869qcz.15 for ; Mon, 22 Sep 2014 09:59:47 -0700 (PDT) Date: Mon, 22 Sep 2014 12:59:45 -0400 From: "Gabriel L. Somlo" Message-ID: <20140922165945.GC1695@ERROL.INI.CMU.EDU> References: <20140915145005.GM1825@ERROL.INI.CMU.EDU> <5416FF41.7010800@redhat.com> <20140915150754.GO1825@ERROL.INI.CMU.EDU> <5417299C.7020107@redhat.com> <20140921221055.GB1695@ERROL.INI.CMU.EDU> <541F5493.20508@redhat.com> <542051EA.2010802@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <542051EA.2010802@redhat.com> Subject: Re: [Qemu-devel] [edk2] OVMF, Q35 and USB keyboard/mouse List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: edk2-devel@lists.sourceforge.net, lersek@redhat.com, qemu-devel@nongnu.org On Mon, Sep 22, 2014 at 06:44:26PM +0200, Paolo Bonzini wrote: > Il 22/09/2014 00:43, Laszlo Ersek ha scritto: > > I mentioned earlier that grepping OvmfPkg for PCI_LIB_ADDRESS would be > > necessary. See PciInitialization() in > > "OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c". I remember that, but back then I hadn't RTFMed enough for it to mean something useful to me. I get it now though, so thanks for the repetition :) > > // > > // Bus 0, Device 1, Function 0 - PCI to ISA Bridge > > // > > PciWrite8 (PCI_LIB_ADDRESS (0, 1, 0, 0x3c), 0x00); > > PciWrite8 (PCI_LIB_ADDRESS (0, 1, 0, 0x60), 0x0b); // LNKA routing target > > PciWrite8 (PCI_LIB_ADDRESS (0, 1, 0, 0x61), 0x0b); // LNKB routing target > > PciWrite8 (PCI_LIB_ADDRESS (0, 1, 0, 0x62), 0x0a); // LNKC routing target > > PciWrite8 (PCI_LIB_ADDRESS (0, 1, 0, 0x63), 0x0a); // LNKD routing target > > > > This is not appropriate for q35. See "ICH9 PCI to ISA irq remapping" in > > qemu's "q35-acpi-dsdt.dsl" file, vs. "PIIX PCI to ISA irq remapping" in > > "acpi-dsdt.dsl". > > If I understand the DSDT right, the field is still at 0x60, but the > bridge is now at 1f.0. Right? Also, LNKE-LNKH must be set at 0x68. > > However, these are only used if OS X runs in PIC mode rather than APIC > mode (see \_PIC). Why should OS X be running in PIC mode? So fixing > the above is right to do, but may not be enough. I'll take a pass at making these dependent on the host bridge DID (same as with the pmbase/pmtimer) instead of hard coded, then we'll see what else breaks :) Thanks again for