qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root pci buses.
Date: Thu, 11 Jun 2015 17:36:06 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

On 06/11/2015 05:24 PM, Kevin O'Connor wrote:
On Thu, Jun 11, 2015 at 05:12:33PM +0300, Marcel Apfelbaum wrote:
On 06/11/2015 04:58 PM, Kevin O'Connor wrote:
On Thu, Jun 11, 2015 at 04:37:08PM +0300, Marcel Apfelbaum wrote:
The fixes solves the following issue:
The PXB device exposes a new  pci root bridge with the
fw path:  /address@hidden/..., in which 4 is the root bus number.
Before this patch the fw path was wrongly computed:
     /address@hidden/address@hidden/...
Fix the above issues: Correct the bus number and remove the
extra host bridge description.

Why is that wrong?  The previous path looks correct to me.
The prev path includes both the extra root bridge and *then* the usual host 
bridge.
  /address@hidden/address@hidden/   ...
     ^ new       ^ regular  ^ devices

Since the new pci root bridge (and bus) is on "paralel" with the regular one.
it is not correct to add it to the path.

The architecture is:
  /<host bridge>/devices...
  /extra root bridge/devices...
  /extra root bridge/devices...
And not
/extra root bridge//<host bridge>/devices

Your patch changed both the "/extra root bridge/devices..." part and
the "@1" part.  The change of the "@1" in "/address@hidden/" is not
correct IMO.
Why? @1 should be the unit address which is the text representation
of the physical address, in our case the slot. Since the bus number
in our case is 4, I think /address@hidden/ is the 'correct' address.

Does open-firmware have any examples for PCI paths and in particular
PCI paths when there are multiple root-buses?
Maybe Laszlo can say more, but we both agreed that this would be the
berst representation of extra root buses on both OVMF and Seabios.

It's possible to replace the "address@hidden" with "address@hidden" but that
seems odd as the extra root bus is accessible via io accesses to
0x0cf8.
While this is true, /address@hidden/ may represent also other kind of host
bridges not only PXBs. But we can change this of course, as long as OVMF can 
also
work with it.


Another option would be to place the address@hidden behind the address@hidden
as in "/address@hidden/address@hidden/...".  Or, the root bus could be appended
to the host bridge as in "/address@hidden,1/...".
The latest representation makes sense to me,  but "/address@hidden,4/...", 
after comma
the bus number.

Laszlo, will this work for OVMF?

Thanks,
Marcel


-Kevin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]