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 09:58:41 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

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 IEEE Std 1275-1994:
> 
>   IEEE Standard for Boot (Initialization Configuration)
>     Firmware: Core Requirements and Practices
>       3.2.1.1 Node names
>           Each node in the device tree is identified by a node name
>           using the following notation:
>               address@hidden:device-arguments
> 
>           The driver name field is a sequence of between one and 31
>           letters [...]. By convention, this name includes the name of
>           the device’s manufacturer and the device’s model name separated by
>           a “,”.
> 
>           The unit address field is the text representation of the
>           physical address of the device within the address space
>           defined by its parent node. The form of the text
>           representation is bus-dependent.

Note the "physical address" part in the above.  Your patch changes the
"pci-root@" syntax to use a logical address instead of a physical
address.  That is, unless I've missed something, SeaBIOS today uses a
physical address (the n'th root bus) and the patch would change it to
use a logical address.

One of the goals of using an "openfirmware" like address was so that
they would be stable across boots (the same mechanism is also used
with coreboot).  Using a physical address is key for this, because
simply adding or removing a PCI device could cause the logical PCI
bridge enumeration to change - and that would mess up the bootorder
list if it was based on logical addresses.

-Kevin



reply via email to

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