From: David Gibson <david@gibson.dropbear.id.au>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Damien Hedde" <damien.hedde@greensocs.com>,
maddy@linux.vnet.ibm.com,
"Daniel P. Berrangé" <berrange@redhat.com>,
qemu-devel@nongnu.org, "Balamuruhan S" <bala24@linux.ibm.com>,
anju@linux.vnet.ibm.com, clg@kaod.org, hari@linux.vnet.ibm.com,
pbonzini@redhat.com
Subject: Re: [Qemu-devel] [RFC PATCH 1/6] utils/python_api: add scripting interface for Qemu with python lib
Date: Fri, 9 Aug 2019 14:39:55 +1000 [thread overview]
Message-ID: <20190809043955.GJ5465@umbus.fritz.box> (raw)
In-Reply-To: <5b5eb81f-86c7-30c3-16e3-7be969e45fde@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2566 bytes --]
On Thu, Aug 08, 2019 at 02:45:02PM +0200, Philippe Mathieu-Daudé wrote:
> On 8/8/19 12:49 PM, Daniel P. Berrangé wrote:
> > On Wed, Aug 07, 2019 at 12:44:40PM +0530, Balamuruhan S wrote:
> >> Adds scripting interface with python library to call functions in
> >> python modules from Qemu that can be used to feed input externally
> >> and without recompiling Qemu that can be used for early development,
> >> testing and can be extended to abstract some of Qemu code out to a
> >> python script to ease maintenance.
> >
> > I admit the use case is interesting, but this is opening a can of
> > worms...
> >
> > Historically the project has held the view that we do not wish
> > to have an mechanism to support loading out of tree code into the
> > QEMU process. Much previously talk was around dlopen'd C plugins,
> > but dynanically loaded Python plugins are doing the same thing
> > at a conceptual level.
> >
> > We didn't wish to expose internals of QEMU in a plugin API to
> > avoid having any kind of API promise across releases.
> >
> > There was also the question of licensing with plugins opening
> > the door for people to extend QEMU with non-free/closed source
> > functionality.
> >
> > While this series only uses the plugin for one fairly obscure
> > device, once a python plugin feature is intergrated in QEMU
> > there will inevitably be requests to use it in further areas
> > of QEMU.
> >
> > IOW, acceptance of this patch is a significant question for
> > the project, and a broader discussion point, than just this
> > PPC feature patch series.
>
> Since performance is not an issue, we can use a QMP-PyMMIO bridge.
> Most of the functions required are already exposed, Damien completed the
> missing ones in his 'FAULT INJECTION FRAMEWORK' series:
> https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg06230.html
>
> Maybe we simply need a clearer (better documented) QMP 'MMIO' API?
I tend to agree. If performance is not a consideration to the point
that we can use an embedded Python interpreter, it should also not be
an issue to the point that we can move the processing to an entirely
different process with a vetted protocol in between them (QMP or an
extension thereof being the obvious choice). That seems safer than
embeddeding arbitrary scripting right into the MMIO paths.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-08-09 4:51 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-07 7:14 [Qemu-devel] [RFC PATCH 0/6] Enhancing Qemu MMIO emulation with scripting interface Balamuruhan S
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 1/6] utils/python_api: add scripting interface for Qemu with python lib Balamuruhan S
2019-08-07 10:20 ` Philippe Mathieu-Daudé
2019-08-08 10:10 ` Stefan Hajnoczi
2019-08-08 10:33 ` Philippe Mathieu-Daudé
2019-08-08 10:53 ` Daniel P. Berrangé
2019-08-09 8:46 ` Stefan Hajnoczi
2019-08-12 4:53 ` Balamuruhan S
2019-08-08 10:09 ` Stefan Hajnoczi
2019-08-11 6:39 ` Balamuruhan S
2019-08-08 10:49 ` Daniel P. Berrangé
2019-08-08 12:45 ` Philippe Mathieu-Daudé
2019-08-09 4:39 ` David Gibson [this message]
2019-08-12 4:45 ` Balamuruhan S
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 2/6] hw/ppc/pnv_xscom: extend xscom to use python interface Balamuruhan S
2019-08-08 9:04 ` Cédric Le Goater
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 3/6] hw/ppc/pnv_homer: add homer/occ common area emulation for PowerNV Balamuruhan S
2019-08-07 7:54 ` Cédric Le Goater
2019-08-07 10:07 ` Balamuruhan S
2019-08-08 8:32 ` Cédric Le Goater
2019-08-09 4:44 ` David Gibson
2019-08-11 6:34 ` Balamuruhan S
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 4/6] hw/ppc/pnv: initialize and realize homer/occ common area Balamuruhan S
2019-08-07 7:59 ` Cédric Le Goater
2019-08-07 10:12 ` Balamuruhan S
2019-08-08 8:46 ` Cédric Le Goater
2019-08-09 4:45 ` David Gibson
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 5/6] hw/ppc/pnv_xscom: retrieve homer/occ base address from PBA BARs Balamuruhan S
2019-08-07 8:01 ` Cédric Le Goater
2019-08-07 10:22 ` Balamuruhan S
2019-08-09 4:45 ` David Gibson
2019-08-07 7:14 ` [Qemu-devel] [RFC PATCH 6/6] hw/ppc/pnv_homer: add python interface support for homer/occ common area Balamuruhan S
2019-08-07 10:27 ` Philippe Mathieu-Daudé
2019-08-11 6:05 ` Balamuruhan S
2019-08-09 4:46 ` David Gibson
2019-08-11 6:19 ` Balamuruhan S
2019-08-07 7:33 ` [Qemu-devel] [RFC PATCH 0/6] Enhancing Qemu MMIO emulation with scripting interface no-reply
2019-08-07 8:15 ` Cédric Le Goater
2019-08-07 10:16 ` Balamuruhan S
2019-08-09 4:49 ` David Gibson
2019-08-12 5:07 ` Balamuruhan S
2019-08-07 8:51 ` no-reply
2019-08-07 9:18 ` no-reply
2019-08-08 10:25 ` Stefan Hajnoczi
2019-08-12 6:03 ` Balamuruhan S
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=20190809043955.GJ5465@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=anju@linux.vnet.ibm.com \
--cc=bala24@linux.ibm.com \
--cc=berrange@redhat.com \
--cc=clg@kaod.org \
--cc=damien.hedde@greensocs.com \
--cc=hari@linux.vnet.ibm.com \
--cc=maddy@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.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).