qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] plugins


From: Gianni Tedesco
Subject: Re: [Qemu-devel] plugins
Date: Fri, 09 Jul 2004 14:48:48 +0100

On Fri, 2004-07-09 at 15:35 +0200, Bartosz Fabianowski wrote:
> > With a plugin system (all it takes is 2 files: an text/XML file which 
> > contains the info on this plugin, and a .so file which is the plugin
> 
> Binary plugins, especially closed source ones, always create the problem 
> of binary compatibility. QEMU's 0.5 version number already indicates 
> that although it works very well already, it is nowhere near finished. 
> Features change very quickly in CVS, just think about how pci was an 
> experimental option a short while back and now it's the default.

Adding PCI could easily have been binary backwards compatible. Anyway,
we're not talking about necissarily having a stable or backwards
compatible ABI, just an API which makes developing new code simpler and
makes each module more flexible. It doesn't have to be there to
encourage out-of-tree development at all.

> I think 
> it would be really hard to come up with an API that would remain stable 
> for multiple releases at this point. Also, the need to maintain 
> backwards compatibility would hamper QEMU's development. And finally, 
> creating and maintaining an API would drain lots of resources from QEMU 
> development while benefiting only very few people who want to distribute 
> closed source plugins.

No developing and maintaining a stable or backwards compatible ABI would
do that. An API that doesn't have to be stable or backwards compatible
won't.

> Maybe at a much later stage, when QEMU is stable 
> and mature, binary plugins will make sense. But for now, it seems like 
> the source code extensibility QEMU offers is good enough.

No, I think plugins should be built from the main qemu source and
external developers would ideally release new plugins as source
distributions to compile against your qemu core. Anything else requires
maintaining an ABI.

Another benefit of DSO based plugins is saving memory and virtual
address space, only loading the plugins which are required. It would
also save on disk space as common code can be shared amongst the various
qemu targets.

-- 
// Gianni Tedesco (gianni at scaramanga dot co dot uk)
lynx --source www.scaramanga.co.uk/scaramanga.asc | gpg --import
8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]