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 

Reply via email to