[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 06/10] qdev: add stubs for vmstate register/unregi
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [RFC 06/10] qdev: add stubs for vmstate register/unregister functions |
Date: |
Tue, 4 Dec 2012 10:49:42 -0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Dec 03, 2012 at 10:49:56PM +0100, Igor Mammedov wrote:
> On Fri, 30 Nov 2012 17:27:18 -0200
> Eduardo Habkost <address@hidden> wrote:
>
> > Add vmstate stub functions, so that qdev.o can be used without savevm.o
> > when vmstate support is not necessary (i.e. by *-user).
> >
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> > Originally submitted as:
> > Subject: qdev-core: isolate vmstate handling into separate functions
> >
> > Changes v1 -> v2:
> > - Add GCC_WEAK_DECL to function declarations
> >
> > Changes v2 -> v3:
> > - Subject: qdev: add weak aliases for vmstate handling on qdev.c
> > - Make vmstate_register_with_alias_id()/vmstate_unregister()
> > have GCC_WEAK versions, instead of creating a new function
> > - Kept qdev_get_vmsd() inside qdev.c
> >
> > Changss v3 -> v4:
> > - Use the new QEMU_WEAK_ALIAS system instead of GCC_WEAK
> >
> > Changes v4 -> v5:
> > - Use the new libqemustub.a, instead of QEMU_WEAK_ALIAS
> >
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> > stubs/Makefile.objs | 1 +
> > stubs/vmstate.c | 17 +++++++++++++++++
> > 2 files changed, 18 insertions(+)
> > create mode 100644 stubs/vmstate.c
> >
> > diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> > index 035b29a..5557079 100644
> > --- a/stubs/Makefile.objs
> > +++ b/stubs/Makefile.objs
> > @@ -5,4 +5,5 @@ stub-obj-y += fdset-get-fd.o
> > stub-obj-y += fdset-remove-fd.o
> > stub-obj-y += get-fd.o
> > stub-obj-y += set-fd-handler.o
> > +stub-obj-y += vmstate.o
> > stub-obj-$(CONFIG_WIN32) += fd-register.o
> > diff --git a/stubs/vmstate.c b/stubs/vmstate.c
> > new file mode 100644
> > index 0000000..bb17884
> > --- /dev/null
> > +++ b/stubs/vmstate.c
> > @@ -0,0 +1,17 @@
> > +#include "qemu-common.h"
> > +#include "vmstate.h"
> > +
> > +int vmstate_register_with_alias_id(DeviceState *dev,
> > + int instance_id,
> > + const VMStateDescription
> > *vmsd,
> > + void *base, int alias_id,
> > + int required_for_version)
> > +{
> > + return 0;
> > +}
> > +
> > +void vmstate_unregister(DeviceState *dev,
> > + const VMStateDescription *vmsd,
> > + void *opaque)
> > +{
> > +}
> > --
> > 1.7.11.7
> >
> commit 3bc2f570ec9f description says, there should be a 1 object
> file per stub /with a corresponding file name if 3bc2f570ec9f is used as a
> model/.
Well, the commit description says that "if you place each function in a
separate source file, object files for unused functions will not be
taken in", I don't see it as a requirement. In this case, pulling both
stubs is a feature: if a binary ends up using the vmstate_register stub,
we really want it to use the vmstate_unregister stub as well.
>
> Paolo,
> Is it ok to put several related stub functions in one file?
>
> --
> Regards,
> Igor
>
--
Eduardo