qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Aleksandr Bezzubikov <zuban32s@gmail.com>
To: seabios@seabios.org
Cc: marcel@redhat.com, kraxel@redhat.com, kevin@koconnor.net,
	lersek@redhat.com, qemu-devel@nongnu.org, konrad.wilk@oracle.com,
	mst@redhat.com, Aleksandr Bezzubikov <zuban32s@gmail.com>
Subject: [Qemu-devel] [RFC PATCH v2 0/4] Allow RedHat PCI bridges reserve more buses than necessary during init
Date: Sun, 23 Jul 2017 01:11:46 +0300	[thread overview]
Message-ID: <1500761510-1556-1-git-send-email-zuban32s@gmail.com> (raw)

Now PCI bridges get a bus range number on a system init,
basing on currently plugged devices. That's why when one wants to hotplug another bridge,
it needs his child bus, which the parent is unable to provide (speaking about virtual device).
The suggested workaround is to have vendor-specific capability in Red Hat PCI bridges
that contains number of additional bus to reserve on BIOS PCI init.
So this capability is intented only for pure QEMU->SeaBIOS usage.

Considering all aforesaid, this series is directly connected with
QEMU RFC series (v2) "Generic PCIE-PCI Bridge".

Although the new PCI capability is supposed to contain various limits along with
bus number to reserve, now only its full layout is proposed, but
only bus_reserve field is used in QEMU and BIOS. Limits usage
is still a subject for implementation as now
the main goal of this series to provide necessary support from the 
firmware side to PCIE-PCI bridge hotplug. 

Changes v1->v2:
1. New #define for Red Hat vendor added (addresses Konrad's comment).
2. Refactored pci_find_capability function (addresses Marcel's comment).
3. Capability reworked:
	- data type added;
	- reserve space in a structure for IO, memory and 
	  prefetchable memory limits.


Aleksandr Bezzubikov (4):
  pci: refactor pci_find_capapibilty to get bdf as the first argument
    instead of the whole pci_device
  pci: add RedHat vendor ID
  pci: add QEMU-specific PCI capability structure
  pci: enable RedHat PCI bridges to reserve additional buses on PCI init

 src/fw/pciinit.c    | 18 ++++++++++++++----
 src/hw/pci_cap.h    | 23 +++++++++++++++++++++++
 src/hw/pci_ids.h    |  2 ++
 src/hw/pcidevice.c  | 12 ++++++------
 src/hw/pcidevice.h  |  2 +-
 src/hw/virtio-pci.c |  4 ++--
 6 files changed, 48 insertions(+), 13 deletions(-)
 create mode 100644 src/hw/pci_cap.h

-- 
2.7.4

             reply	other threads:[~2017-07-22 22:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-22 22:11 Aleksandr Bezzubikov [this message]
2017-07-22 22:11 ` [Qemu-devel] [RFC PATCH v2 1/4] pci: refactor pci_find_capapibilty to get bdf as the first argument instead of the whole pci_device Aleksandr Bezzubikov
2017-07-23 16:04   ` Marcel Apfelbaum
2017-07-23 16:24   ` Kevin O'Connor
2017-07-22 22:11 ` [Qemu-devel] [RFC PATCH v2 2/4] pci: add RedHat vendor ID Aleksandr Bezzubikov
2017-07-23 16:05   ` Marcel Apfelbaum
2017-07-22 22:11 ` [Qemu-devel] [RFC PATCH v2 3/4] pci: add QEMU-specific PCI capability structure Aleksandr Bezzubikov
2017-07-23  2:44   ` Michael S. Tsirkin
2017-07-23 16:12     ` Alexander Bezzubikov
2017-07-23 16:30   ` Kevin O'Connor
2017-07-23 16:47     ` Alexander Bezzubikov
2017-07-22 22:11 ` [Qemu-devel] [RFC PATCH v2 4/4] pci: enable RedHat PCI bridges to reserve additional buses on PCI init Aleksandr Bezzubikov
2017-07-23  2:49   ` Michael S. Tsirkin
2017-07-23 16:43     ` Alexander Bezzubikov
2017-07-23 19:44       ` Alexander Bezzubikov
2017-07-24  9:42         ` Gerd Hoffmann
2017-07-24 14:39           ` Alexander Bezzubikov
2017-07-24 14:55             ` Marcel Apfelbaum
2017-07-25 15:46 ` [Qemu-devel] [RFC PATCH v2 0/4] Allow RedHat PCI bridges reserve more buses than necessary during init Laszlo Ersek
2017-07-26  6:48   ` Marcel Apfelbaum
2017-07-26 15:20     ` Laszlo Ersek
2017-07-26 16:22       ` Marcel Apfelbaum
2017-07-26 18:31         ` Laszlo Ersek
2017-07-27 18:18           ` Marcel Apfelbaum
2017-07-26 18:49         ` Michael S. Tsirkin
2017-07-27 18:24           ` Marcel Apfelbaum

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=1500761510-1556-1-git-send-email-zuban32s@gmail.com \
    --to=zuban32s@gmail.com \
    --cc=kevin@koconnor.net \
    --cc=konrad.wilk@oracle.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=marcel@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).