On Sat, 12 Mar 2011 09:00:53 -0600 Anthony Liguori <anth...@codemonkey.ws> wrote:
> On 03/12/2011 05:29 AM, Blue Swirl wrote: > > On Sat, Mar 12, 2011 at 1:05 AM, Anthony Liguori<aligu...@us.ibm.com> > > wrote: > >> Only generate qmp-types.[ch]. These files contain the type definitions for > >> QMP along with the alloc/free functions for these types. Functions to > >> convert > >> enum values to integers and vice versa are also included. > >> > >> qmp-types is used both within QEMU and within libqmp > >> > >> Special alloc/free functions are provided to ensure that all structures are > >> padded when allocated. This makes sure that libqmp can provide a forward > >> compatible interface since all additions to a structure will have a boolean > >> enable flag. > >> > >> The free function is convenient since individual structures may have > >> pointers > >> that also require freeing. > >> > >> Signed-off-by: Anthony Liguori<aligu...@us.ibm.com> > >> --- > >> v1 -> v2 > >> - modify code generator to use multiline strings instead of prints > >> - support proxy commands > >> - support async commands > >> > >> diff --git a/Makefile b/Makefile > >> index 6b1d716..6b9fd69 100644 > >> --- a/Makefile > >> +++ b/Makefile > >> @@ -4,6 +4,7 @@ GENERATED_HEADERS = config-host.h trace.h qemu-options.def > >> ifeq ($(TRACE_BACKEND),dtrace) > >> GENERATED_HEADERS += trace-dtrace.h > >> endif > >> +GENERATED_HEADERS += qmp-types.h > >> > >> ifneq ($(wildcard config-host.mak),) > >> # Put the all: rule here so that config-host.mak can contain > >> dependencies. > >> @@ -146,6 +147,14 @@ trace-dtrace.o: trace-dtrace.dtrace > >> $(GENERATED_HEADERS) > >> > >> simpletrace.o: simpletrace.c $(GENERATED_HEADERS) > >> > >> +qmp-types.c: $(SRC_PATH)/qmp-schema.json $(SRC_PATH)/qmp-gen.py > >> + $(call quiet-command,python $(SRC_PATH)/qmp-gen.py --types-body< > >> $< > $@, " GEN $@") > >> + > >> +qmp-types.h: $(SRC_PATH)/qmp-schema.json $(SRC_PATH)/qmp-gen.py > >> + $(call quiet-command,python $(SRC_PATH)/qmp-gen.py --types-header< > >> $< > $@, " GEN $@") > >> + > >> +qmp-types.o: qmp-types.c qmp-types.h > >> + > >> version.o: $(SRC_PATH)/version.rc config-host.mak > >> $(call quiet-command,$(WINDRES) -I. -o $@ $<," RC > >> $(TARGET_DIR)$@") > >> > >> diff --git a/Makefile.objs b/Makefile.objs > >> index 69f0383..710d99f 100644 > >> --- a/Makefile.objs > >> +++ b/Makefile.objs > >> @@ -15,7 +15,7 @@ oslib-obj-$(CONFIG_POSIX) += oslib-posix.o > >> > >> block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o > >> block-obj-y += nbd.o block.o aio.o aes.o qemu-config.o > >> -block-obj-y += error.o > >> +block-obj-y += error.o qmp-types.o > >> block-obj-$(CONFIG_POSIX) += posix-aio-compat.o > >> block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o > >> > >> diff --git a/ordereddict.py b/ordereddict.py > >> new file mode 100644 > > Please put this into scripts/. > > Sure. Our maybe create qmp/ and put everything in there.