qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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
>

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).