All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: "Subbiah Kandasamy (skandasa)" <skandasa@cisco.com>,
	qemu-devel@nongnu.org, Wei Xu <wexu2@cisco.com>
Subject: Re: [Qemu-devel] Re: May I use -device in qemu-system command to attach to PCIe bus?
Date: Fri, 29 Oct 2010 10:02:47 +0200	[thread overview]
Message-ID: <m3zktx5suw.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <20101028112548.GC5851@valinux.co.jp> (Isaku Yamahata's message of "Thu, 28 Oct 2010 20:25:48 +0900")

Isaku Yamahata <yamahata@valinux.co.jp> writes:

> On Thu, Oct 28, 2010 at 03:37:27AM -0700, Wei Xu wrote:
>> Isaku,
>> 
>> To make things clear, let me rephrase the problem. With q35/vPCIe, in VMM
>> monitor, we can do hotplug like:
>>  pci_add auto|<bus:dev> nic|storage
>> to hotplug a device to PCIe/PCI bus.
>> 
>> But we have two problems  here:
>> (1) command line for example, "-net nic,addr=<bus:dev>" always failed
>> because it cannot find the bus.
>> (2) If "pci_add auto" in monitor or no "addr=<bus:dev" in command line, the
>> device will be attached to PCI bus, in stead of PCIe ports
>> 
>> I solved the first problem. The root cause is pcie_root_write_config (which
>> init SECONDARY_BUS config) happened after pci_nic_init. The latter use
>> pci_find_bus to find the parent bus but failed because config space for
>> secondary bus still not initialized.
>
> Okay, now the issue is clear to me.
> When I tried to clean up pci bridge code, I included the similar lines
> in bridge initialization function.
> But Michael complained about it, so I dropped the lines for merge.
>
> I think there are two ways to address it.
> - initialize secondary/subordinate bus register by qemu
>   i.e. something like the patch below.
>
> - use qdev device path
>   i.e. qbus_find() instead of pci_find_bus().
>   I don't know if the corresponding command line option already exists or not.
>
> My preference is the former, but discussion is necessary to get consensus.
> My plan was to raise the issue when I address pv pci bus numbering issue.
> I've expected that other developers wouldn't think the issue important
> because multiple pci bus can't be used easily right now.

I'm afraid I'm missing context here.  Could you restate the problem?

New devices and buses need to work with -device / device_add.  pci_add
and -net nic are for backwards compatibility.  Folks used to them may
appreciate you making them work for PCIe.  Longer term, they should
either go away or become syntactic sugar.

  parent reply	other threads:[~2010-10-29  8:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20101028051640.GK2243@valinux.co.jp>
2010-10-28 10:37 ` [Qemu-devel] Re: May I use -device in qemu-system command to attach to PCIe bus? Wei Xu
2010-10-28 11:25   ` Isaku Yamahata
2010-10-28 11:30     ` Wei Xu
2010-10-29  8:02     ` Markus Armbruster [this message]
2010-10-29  8:40       ` Isaku Yamahata
2010-10-29  9:54         ` Markus Armbruster
2010-10-29 10:29           ` Michael S. Tsirkin

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=m3zktx5suw.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=skandasa@cisco.com \
    --cc=wexu2@cisco.com \
    --cc=yamahata@valinux.co.jp \
    /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.