From: Alexander Graf <agraf@suse.de>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Peter Crosthwaite" <peter.crosthwaite@xilinx.com>,
"KVM devel mailing list" <kvm@vger.kernel.org>,
"Juan Quintela" <quintela@redhat.com>,
"Stuart Yoder" <stuart.yoder@freescale.com>,
"qemu list" <qemu-devel@nongnu.org>,
"Anthony Liguori" <aliguori@amazon.com>,
"Alistair Francis" <alistair.francis@xilinx.com>,
"Andreas Färber" <afaerber@suse.de>,
"Christoffer Dall" <christoffer.dall@linaro.org>
Subject: Re: [Qemu-devel] KVM call agenfda for 2014-04-01
Date: Fri, 11 Apr 2014 11:17:43 +0200 [thread overview]
Message-ID: <5347B337.5010109@suse.de> (raw)
In-Reply-To: <87ppkoqpf7.fsf@blackfin.pond.sub.org>
On 11.04.14 09:46, Markus Armbruster wrote:
> [Cc: Andreas, Anthony]
>
> Alexander Graf <agraf@suse.de> writes:
>
>> On 10.04.2014, at 17:52, Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>>> On 10 April 2014 16:49, Alexander Graf <agraf@suse.de> wrote:
>>>> For the next call, I would propose to revive the "platform bus"
>>>> (aka: how to create non-PCI devices with -device) discussions
> Rather: devices that connect to more than just a bus.
>
> Since pseudo-bus sysbus provides exactly no connections, sysbus devices
> generally connect to more.
>
> Currently, the only way to make such additional connections is
> special-purpose code. -device's connection engine can only connect to a
> bus.
>
>>>> to make sure we're all on the same page.
>>> I rather suspect we are not :-) Do you have a link to
>>> the current proposals for prior reading?
>> The only thing I could find is the old thread about my platform bus
>> approach (which Anthony disliked):
>>
>> https://lists.gnu.org/archive/html/qemu-devel/2013-07/msg03614.html
>>
>> So from what I remember the plan moving forward was to have a special
>> device type similar to my platform bus devices that you can just
>> create using -device, no bus involved. The machine file would then
>> loop through them, interpret the "I sit at address x" and "I want
>> interrupt number y" fields to link them to whatever the machine model
>> thinks is a good fit.
>>
>> The same way the machine model today has to have knowledge on each
>> device tree node type it generates, it would do the same for these
>> devices. So the machine has to have awareness of all the "funky
>> special options" a device tree node receives - the same as for any
>> other device. Just that in this case it wouldn't be able to hardcode
>> them, but have to generate them on the fly when it sees a device in
>> the object tree.
> The following is just my understanding of where we're trying to go. The
> people active in this field (Andreas?) should correct misunderstandings.
>
> Our overall goal is building machines from components by *data* rather
> than code. Once it's data, it can be made run-time configuration.
I've had plenty of discussions on this with Anthony over the years
(first time this came up was about 2 or 3 years ago) on this. Eventually
his conclusion was that it's not desirable to build the machine from
data. Instead it should get built from a script. The nice thing about a
script is that it's also run-time, but not as restricted and as much
special-cased as a mere description.
Unfortunately I don't know all of the rationale that went into the
conclusion :).
> The configuration describes how components are to be connected, and
> generic connection code makes the connections guided by the
> configuration.
>
> The current generic connection code can only connect a device to a
> single bus.
>
> If you don't specify the bus, it picks one. Which one it picks is
> effectively ABI.
>
> Picking a bus is a special case of "pick a connection if user didn't
> specify one". The current bus-picker doesn't depend on the machine
> type, but that's not going to hold in general.
>
> I like to think of the "pick connections the user didn't specify" engine
> as conceptually separate from the "make connections driven by
> configuration" engine. The actual code isn't so separate, but that's
> implementation.
>
> How does your "platform device" proposal (for lack of a better
> expression) fit into this general framework of ideas?
Any leaf devices that are not hooked up to anything get connected by
machine specific code :). So the "pick connections the user didn't
specify" logic would be machine specific.
Alex
prev parent reply other threads:[~2014-04-11 9:18 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-31 10:40 [Qemu-devel] KVM call agenfda for 2014-04-01 Juan Quintela
2014-03-31 10:51 ` [Qemu-devel] KVM call agenda " Andreas Färber
2014-03-31 12:07 ` Stefan Hajnoczi
2014-03-31 13:21 ` Christian Borntraeger
2014-03-31 13:25 ` Peter Maydell
2014-03-31 14:01 ` Anthony Liguori
2014-03-31 14:28 ` Paolo Bonzini
2014-03-31 14:32 ` Peter Maydell
2014-03-31 14:46 ` Andreas Färber
2014-03-31 15:42 ` Anthony Liguori
2014-03-31 16:58 ` Markus Armbruster
2014-03-31 19:57 ` Michael Roth
2014-04-01 8:16 ` Peter Maydell
2014-04-01 12:39 ` [Qemu-devel] KVM call agenfda " Juan Quintela
2014-04-10 15:49 ` Alexander Graf
2014-04-10 15:52 ` Peter Maydell
2014-04-10 15:57 ` Alexander Graf
2014-04-10 16:16 ` Stuart Yoder
2014-04-11 7:46 ` Markus Armbruster
2014-04-11 9:17 ` Alexander Graf [this message]
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=5347B337.5010109@suse.de \
--to=agraf@suse.de \
--cc=afaerber@suse.de \
--cc=aliguori@amazon.com \
--cc=alistair.francis@xilinx.com \
--cc=armbru@redhat.com \
--cc=christoffer.dall@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=peter.crosthwaite@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stuart.yoder@freescale.com \
/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).