qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PULL v8 052/152] meson: generate hxtool files
Date: Fri, 21 Aug 2020 06:21:49 -0400	[thread overview]
Message-ID: <20200821102329.29777-53-pbonzini@redhat.com> (raw)
In-Reply-To: <20200821102329.29777-1-pbonzini@redhat.com>

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 Makefile        |  8 +-------
 Makefile.target |  6 ------
 meson.build     | 22 ++++++++++++++++++++++
 scripts/hxtool  |  2 +-
 4 files changed, 24 insertions(+), 14 deletions(-)
 mode change 100644 => 100755 scripts/hxtool

diff --git a/Makefile b/Makefile
index e7394e748d..13df463e33 100644
--- a/Makefile
+++ b/Makefile
@@ -121,7 +121,7 @@ include $(SRC_PATH)/rules.mak
 # lor is defined in rules.mak
 CONFIG_BLOCK := $(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS))
 
-generated-files-y = config-host.h qemu-options.def
+generated-files-y = config-host.h
 
 generated-files-y += module_block.h
 
@@ -263,8 +263,6 @@ all: $(DOCS) $(if $(BUILD_DOCS),sphinxdocs) $(TOOLS) $(HELPERS-y) recurse-all mo
 
 config-host.h: config-host.h-timestamp
 config-host.h-timestamp: config-host.mak
-qemu-options.def: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
-	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@")
 
 TARGET_DIRS_RULES := $(foreach t, all fuzz clean install, $(addsuffix /$(t), $(TARGET_DIRS)))
 
@@ -371,9 +369,6 @@ ifdef CONFIG_MPATH
 scsi/qemu-pr-helper$(EXESUF): LIBS += -ludev -lmultipath -lmpathpersist
 endif
 
-qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx $(SRC_PATH)/scripts/hxtool
-	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$@")
-
 module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
 	$(call quiet-command,$(PYTHON) $< $@ \
 	$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
@@ -392,7 +387,6 @@ clean: recurse-clean ninja-clean clean-ctlist
 	rm -f $(edk2-decompressed)
 	rm -f $(filter-out %.tlb,$(TOOLS)) $(HELPERS-y) TAGS cscope.* *.pod *~ */*~
 	rm -f fsdev/*.pod scsi/*.pod
-	rm -f qemu-img-cmds.h
 	rm -f $(foreach f,$(generated-files-y),$(f) $(f)-timestamp)
 	rm -f config-all-devices.mak
 	rm -f $(SUBDIR_DEVICES_MAK)
diff --git a/Makefile.target b/Makefile.target
index 0b323641bb..257afc2723 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -225,12 +225,6 @@ endif
 gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
 	$(call quiet-command,rm -f $@ && $(SHELL) $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES),"GEN","$(TARGET_DIR)$@")
 
-hmp-commands.h: $(SRC_PATH)/hmp-commands.hx $(SRC_PATH)/scripts/hxtool
-	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$(TARGET_DIR)$@")
-
-hmp-commands-info.h: $(SRC_PATH)/hmp-commands-info.hx $(SRC_PATH)/scripts/hxtool
-	$(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -h < $< > $@,"GEN","$(TARGET_DIR)$@")
-
 clean: clean-target
 	rm -f *.a *~ $(PROGS)
 	rm -f $(shell find . -name '*.[od]')
diff --git a/meson.build b/meson.build
index 2fb209b228..222b0d0e77 100644
--- a/meson.build
+++ b/meson.build
@@ -159,6 +159,7 @@ have_block = have_system or have_tools
 # Generators
 
 genh = []
+hxtool = find_program('scripts/hxtool')
 shaderinclude = find_program('scripts/shaderinclude.pl')
 qapi_gen = find_program('scripts/qapi-gen.py')
 qapi_gen_depends = [ meson.source_root() / 'scripts/qapi/__init__.py',
@@ -196,6 +197,27 @@ qemu_version = custom_target('qemu-version.h',
                              build_always_stale: true)
 genh += qemu_version
 
+hxdep = []
+hx_headers = [
+  ['qemu-options.hx', 'qemu-options.def'],
+  ['qemu-img-cmds.hx', 'qemu-img-cmds.h'],
+]
+if have_system
+  hx_headers += [
+    ['hmp-commands.hx', 'hmp-commands.h'],
+    ['hmp-commands-info.hx', 'hmp-commands-info.h'],
+  ]
+endif
+foreach d : hx_headers
+  custom_target(d[1],
+                input: files(d[0]),
+                output: d[1],
+                capture: true,
+                build_by_default: true, # to be removed when added to a target
+                command: [hxtool, '-h', '@INPUT0@'])
+endforeach
+genh += hxdep
+
 # Collect sourcesets.
 
 util_ss = ss.source_set()
diff --git a/scripts/hxtool b/scripts/hxtool
old mode 100644
new mode 100755
index 7b1452f3cf..80516b9437
--- a/scripts/hxtool
+++ b/scripts/hxtool
@@ -19,6 +19,6 @@ hxtoh()
 case "$1" in
 "-h") hxtoh ;;
 *) exit 1 ;;
-esac
+esac < "$2"
 
 exit 0
-- 
2.26.2




  parent reply	other threads:[~2020-08-21 10:43 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-21 10:20 [PULL v8 000/152] Meson-based build system Paolo Bonzini
2020-08-21 10:20 ` [PULL v8 001/152] oss-fuzz/build: remove LIB_FUZZING_ENGINE Paolo Bonzini
2020-08-21 10:20 ` [PULL v8 002/152] optionrom: simplify Makefile Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 003/152] pc-bios/s390-ccw: do not use rules.mak Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 004/152] trace: switch position of headers to what Meson requires Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 005/152] meson: rename included C source files to .c.inc Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 006/152] meson: rename .inc.h files to .h.inc Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 007/152] build-sys hack: ensure target directory is there Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 008/152] tests/vm: do not pollute configure with --efi-aarch64 Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 009/152] tests/vm: check for Python YAML parser in the Makefile Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 010/152] tests/docker: add test script for static linux-user builds Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 011/152] nsis: use "make DESTDIR=" instead of "make prefix=" Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 012/152] configure: do not include $(...) variables in config-host.mak Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 013/152] configure: expand path variables for meson configure Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 014/152] configure: prepare CFLAGS/CXXFLAGS/LDFLAGS for Meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 015/152] tests/vm: include setuptools Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 016/152] configure: add support for pseudo-"in source tree" builds Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 017/152] configure: integrate Meson in the build system Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 018/152] configure: generate Meson cross file Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 019/152] build-sys hack: link with whole .fa archives Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 020/152] build-sys: add meson submodule Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 021/152] meson: move summary to meson.build Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 022/152] meson: enable pie Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 023/152] meson: use coverage option Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 024/152] meson: add sparse support Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 025/152] meson: add testsuite Makefile generator Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 026/152] libqemuutil, qapi, trace: convert to meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 027/152] meson: add remaining generated tcg trace helpers Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 028/152] meson: add version.o Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 029/152] contrib/libvhost-user: convert to Meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 030/152] tools/virtiofsd: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 031/152] contrib/vhost-user-blk: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 032/152] vhost-user-scsi: add compatibility for libiscsi 1.9.0 Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 033/152] contrib/vhost-user-scsi: convert to Meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 034/152] contrib/rdmacm-mux: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 035/152] contrib/vhost-user-input: convert to meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 036/152] contrib/vhost-user-gpu: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 037/152] contrib/ivshmem: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 038/152] contrib/elf2dmp: " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 039/152] meson: add macos dependencies Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 040/152] meson: add solaris and Haiku libraries Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 041/152] meson: convert qemu-ga Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 042/152] meson: convert vss-win32 Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 043/152] meson: add msi generation Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 044/152] meson: convert dummy Windows qga/qemu-ga target Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 045/152] meson: add qemu-bridge-helper Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 046/152] meson: add qemu-keymap Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 047/152] meson: add qemu-edid Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 048/152] meson: add virtfs-proxy-helper Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 049/152] meson: keymap-gen Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 050/152] meson: generate qemu-version.h Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 051/152] meson: generate shader headers Paolo Bonzini
2020-08-21 10:21 ` Paolo Bonzini [this message]
2020-08-21 10:21 ` [PULL v8 053/152] meson: handle edk2 bios and descriptors Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 054/152] meson: convert check-decodetree Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 055/152] meson: convert tests/fp and check-softfloat Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 056/152] meson: convert check-qapi-schema Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 057/152] meson: convert qom directory to Meson (tools part) Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 058/152] meson: convert authz directory to Meson Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 059/152] meson: convert crypto " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 060/152] meson: convert io " Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 061/152] meson: convert target/s390x/gen-features.h Paolo Bonzini
2020-08-21 10:21 ` [PULL v8 062/152] meson: infrastructure for building emulators Paolo Bonzini
2020-11-03 13:39   ` Philippe Mathieu-Daudé
2020-11-03 14:19     ` 罗勇刚(Yonggang Luo)
2020-11-03 14:25       ` Paolo Bonzini
2020-11-03 14:27         ` 罗勇刚(Yonggang Luo)
2020-08-21 10:22 ` [PULL v8 063/152] meson: add modules infrastructure Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 064/152] meson: convert chardev directory to Meson (tools part) Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 065/152] meson: convert block Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 066/152] meson: qemu-{img,io,nbd} Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 067/152] meson: qemu-pr-helper Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 068/152] configure, Makefile; remove TOOLS and HELPERS-y variable Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 069/152] meson: convert chardev directory to Meson (emulator part) Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 070/152] meson: convert tests/qtest to meson Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 071/152] meson: convert audio directory to Meson Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 072/152] meson: convert ui " Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 073/152] meson: convert root " Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 074/152] meson: convert most of softmmu/ Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 075/152] meson: convert trace/ Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 076/152] meson: convert dump/ Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 077/152] meson: convert common QMP bits for qemu and qemu-storage-daemon Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 078/152] meson: convert qemu-storage-daemon Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 079/152] meson: convert replay directory to Meson Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 080/152] meson: convert migration " Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 081/152] meson: convert net " Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 082/152] meson: convert backends " Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 083/152] meson: convert fsdev/ Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 084/152] meson: convert disas directory to Meson Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 085/152] meson: convert qapi-specific to meson Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 086/152] meson: convert hw/xen Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 087/152] meson: convert hw/core Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 088/152] meson: convert hw/semihosting Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 089/152] meson: convert hw/nubus Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 090/152] meson: convert hw/smbios Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 091/152] meson: convert hw/mem Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 092/152] meson: convert hw/watchdog Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 093/152] meson: convert hw/virtio Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 094/152] meson: convert hw/vfio Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 095/152] meson: convert hw/usb Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 096/152] meson: convert hw/tpm Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 097/152] meson: convert hw/timer Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 098/152] meson: convert hw/rtc Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 099/152] meson: convert hw/ssi Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 100/152] meson: convert hw/sd Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 101/152] meson: convert hw/scsi Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 102/152] meson: convert hw/pcmcia Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 103/152] meson: convert hw/pci-host Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 104/152] meson: convert hw/pci-bridge Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 105/152] meson: convert hw/pci Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 106/152] meson: convert hw/nvram Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 107/152] meson: convert hw/rdma Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 108/152] meson: convert hw/net Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 109/152] meson: convert hw/misc Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 110/152] meson: convert hw/isa Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 111/152] meson: convert hw/ipmi Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 112/152] meson: convert hw/ipack Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 113/152] meson: convert hw/intc Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 114/152] meson: convert hw/input Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 115/152] meson: convert hw/ide Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 116/152] meson: convert hw/i2c Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 117/152] meson: convert hw/hyperv Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 118/152] meson: convert hw/gpio Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 119/152] meson: convert hw/dma Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 120/152] meson: convert hw/display Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 121/152] meson: convert hw/cpu Paolo Bonzini
2020-08-21 10:22 ` [PULL v8 122/152] meson: convert hw/char Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 123/152] meson: convert hw/block Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 124/152] meson: convert hw/audio Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 125/152] meson: convert hw/adc Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 126/152] meson: convert hw/acpi Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 127/152] meson: convert hw/9pfs, cleanup Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 128/152] meson: convert hw/arch* Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 129/152] meson: target Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 130/152] meson: accel Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 131/152] meson: linux-user Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 132/152] meson: bsd-user Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 133/152] meson: cpu-emu Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 134/152] meson: plugins Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 135/152] meson: link emulators without Makefile.target Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 136/152] configure: place compatibility symlinks in target directories Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 137/152] meson: convert systemtap files Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 138/152] rules.mak: remove version.o Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 139/152] remove Makefile.target Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 140/152] meson: sphinx-build Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 141/152] docs: automatically track manual dependencies Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 142/152] meson: build texi doc Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 143/152] meson: convert check-block Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 144/152] rules.mak: drop unneeded macros Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 145/152] meson: replace create-config with meson configure_file Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 146/152] meson: convert sample plugins Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 147/152] meson: move SDL and SDL-image detection to meson Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 148/152] meson: convert VNC and dependent libraries " Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 149/152] meson: convert po/ Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 150/152] meson: avoid unstable module warning with Meson 0.56.0 or newer Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 151/152] meson: update build-system documentation Paolo Bonzini
2020-08-21 10:23 ` [PULL v8 152/152] docs: convert build system documentation to rST Paolo Bonzini

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=20200821102329.29777-53-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=marcandre.lureau@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).