Peter Maydell wrote: > On 2 November 2011 18:47, Alexander Graf <ag...@suse.de> wrote: > >> Jan Kiszka wrote: >> >>> We should also be able to establish an EXPORT_SYMBOL concept, ie. only >>> export those functions that are supposed to be part of a component API. >>> Will be some work initially, but should be off long term, both to QEMU >>> in maintaining stable APIs and to external components in using the >>> proper ones. >>> > > >> Yes. IOW, let's go down the same road as Linux. It works well for them, >> why not for us? >> > > I'd rather see us have a decent usable API for implementing devices > *inside* the QEMU source tree before we start thinking about having > one for devices outside the tree... > Right. That's exactly what Linux does. On Linux, you have EXPORT_SYMBOL and EXPORT_SYMBOL_GPL. The former is considered reasonably stable. The latter can change even in minor revisions.
So the obvious thing to do would be to export everything, but mark it unstable and then mark things stable as we go in and actually consider them stable. And only consider them stable for a limited time. Alex