From: Marcel Apfelbaum <marcel@redhat.com>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: seabios@seabios.org, lersek@redhat.com, qemu-devel@nongnu.org,
mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root pci buses.
Date: Thu, 11 Jun 2015 17:12:33 +0300 [thread overview]
Message-ID: <55799751.1030904@redhat.com> (raw)
In-Reply-To: <20150611135841.GA7998@morn.localdomain>
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: /pci-root@4/..., in which 4 is the root bus number.
>> Before this patch the fw path was wrongly computed:
>> /pci-root@1/pci@i0cf8/...
>> 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.
/pci-root@1/pci@i0cf8/ ...
^ 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
Thanks,
Marcel
>
>> 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:
>> driver-name@unit-address: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
>
next prev parent reply other threads:[~2015-06-11 14:12 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-11 13:37 [Qemu-devel] [PATCH V2] pci: fixes to allow booting from extra root pci buses Marcel Apfelbaum
2015-06-11 13:57 ` Laszlo Ersek
2015-06-11 13:58 ` Kevin O'Connor
2015-06-11 14:12 ` Marcel Apfelbaum [this message]
2015-06-11 14:24 ` Kevin O'Connor
2015-06-11 14:36 ` Marcel Apfelbaum
2015-06-11 15:00 ` Laszlo Ersek
2015-06-11 16:54 ` Kevin O'Connor
2015-06-11 17:46 ` Marcel Apfelbaum
2015-06-11 18:34 ` Laszlo Ersek
2015-06-11 19:24 ` Kevin O'Connor
2015-06-12 9:25 ` Laszlo Ersek
2015-06-12 13:03 ` Kevin O'Connor
2015-06-12 15:45 ` Laszlo Ersek
2015-06-12 18:40 ` Kevin O'Connor
2015-06-12 20:13 ` Laszlo Ersek
2015-06-14 12:05 ` Michael S. Tsirkin
2015-06-14 14:50 ` Kevin O'Connor
2015-06-14 18:06 ` Michael S. Tsirkin
2015-06-14 18:21 ` Kevin O'Connor
2015-06-14 21:39 ` Benjamin Herrenschmidt
2015-06-14 21:59 ` Kevin O'Connor
2015-06-15 2:50 ` Benjamin Herrenschmidt
2015-06-15 8:22 ` Michael S. Tsirkin
2015-06-11 19:10 ` Kevin O'Connor
2015-06-12 6:00 ` Gerd Hoffmann
2015-06-12 12:17 ` Marcel Apfelbaum
2015-06-12 13:23 ` Kevin O'Connor
2015-06-15 6:01 ` Gerd Hoffmann
2015-06-15 6:50 ` Gerd Hoffmann
2015-06-15 9:02 ` Marcel Apfelbaum
2015-06-15 9:43 ` Michael S. Tsirkin
2015-06-15 10:18 ` Gerd Hoffmann
2015-06-15 10:26 ` Michael S. Tsirkin
2015-06-11 14:35 ` Laszlo Ersek
2015-06-11 16:48 ` Kevin O'Connor
2015-06-11 18:38 ` [Qemu-devel] [SeaBIOS] " Laszlo Ersek
2015-06-14 12:10 ` [Qemu-devel] " Michael S. Tsirkin
2015-06-14 13:47 ` Kevin O'Connor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55799751.1030904@redhat.com \
--to=marcel@redhat.com \
--cc=kevin@koconnor.net \
--cc=lersek@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=seabios@seabios.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.