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: Kevin O'Connor
Subject: Re: [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root pci buses.
Date: Thu, 11 Jun 2015 12:54:04 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Jun 11, 2015 at 05:36:06PM +0300, Marcel Apfelbaum wrote:
> 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.

On real machines, the firmware assigns the 4 - it's not a physical
address; it's a logical address (like all bus numbers in PCI).  The
firmware might assign a totally different number on the next boot.

-Kevin



reply via email to

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