* [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze
@ 2021-07-10 18:58 Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 05/48] modules: add modinfo macros Paolo Bonzini
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-07-10 18:58 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 05de778b5b8ab0b402996769117b88c7ea5c7c61:
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2021-07-09 14:30:01 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 411ad8dd80077e98ed465775b044caf1a9482f6c:
meson: Use input/output for entitlements target (2021-07-09 18:21:34 +0200)
v1->v2: fix docs build, add final patch for entitlements target
----------------------------------------------------------------
* More SVM fixes (Lara)
* Module annotation database (Gerd)
* Memory leak fixes (myself)
* Build fixes (myself)
* --with-devices-* support (Alex)
----------------------------------------------------------------
Akihiko Odaki (1):
meson: Use input/output for entitlements target
Alex Bennée (4):
hw/arm: add dependency on OR_IRQ for XLNX_VERSAL
hw/arm: move CONFIG_V7M out of default-devices
configs: rename default-configs to configs and reorganise
configure: allow the selection of alternate config in the build
Gerd Hoffmann (32):
modules: add modinfo macros
modules: collect module meta-data
modules: generate modinfo.c
modules: add qxl module annotations
modules: add virtio-gpu module annotations
modules: add chardev module annotations
modules: add audio module annotations
modules: add usb-redir module annotations
modules: add ccid module annotations
modules: add ui module annotations
modules: add s390x module annotations
modules: add block module annotations
modules: use modinfo for dependencies
modules: use modinfo for qom load
modules: use modinfo for qemu opts load
modules: add tracepoints
modules: check arch and block load on mismatch
modules: check arch on qom lookup
modules: target-specific module build infrastructure
modules: add documentation for module sourcesets
modules: add module_obj() note to QOM docs
modules: hook up modules.h to docs build
accel: autoload modules
accel: add qtest module annotations
accel: build qtest modular
accel: add tcg module annotations
accel: build tcg modular
monitor: allow register hmp commands
usb: drop usb_host_dev_is_scsi_storage hook
monitor/usb: register 'info usbhost' dynamically
usb: build usb-host as module
monitor/tcg: move tcg hmp commands to accel/tcg, register them dynamically
Jose R. Ziviani (1):
modules: check if all dependencies can be satisfied
Lara Lazier (2):
target/i386: Added MSRPM and IOPM size check
target/i386: Added DR6 and DR7 consistency checks
Miroslav Rezanina (2):
configure: fix libdaxctl options
configure: fix libpmem configuration option
Paolo Bonzini (5):
meson: fix missing preprocessor symbols
osdep: fix HAVE_BROKEN_SIZE_MAX case
target/i386: fix exceptions for MOV to DR
vl: fix leak of qdict_crumple return value
meson: switch function tests from compilation to linking
Philippe Mathieu-Daudé (1):
meson: Introduce target-specific Kconfig
Kconfig | 1 +
MAINTAINERS | 22 ++-
accel/accel-common.c | 2 +-
accel/accel-softmmu.c | 2 +-
accel/qtest/meson.build | 8 +-
accel/qtest/qtest.c | 2 +
accel/tcg/hmp.c | 29 +++
accel/tcg/meson.build | 6 +-
accel/tcg/tcg-accel-ops.c | 1 +
accel/tcg/tcg-all.c | 1 +
audio/spiceaudio.c | 2 +
block/iscsi-opts.c | 1 +
block/meson.build | 2 +-
chardev/baum.c | 1 +
chardev/spice.c | 4 +
.../devices/aarch64-softmmu/default.mak | 2 +-
configs/devices/aarch64-softmmu/minimal.mak | 9 +
.../devices/alpha-softmmu/default.mak | 0
.../devices/arm-softmmu/default.mak | 3 -
.../devices/avr-softmmu/default.mak | 0
.../devices/cris-softmmu/default.mak | 0
.../devices/hppa-softmmu/default.mak | 0
.../devices/i386-softmmu/default.mak | 0
.../devices/m68k-softmmu/default.mak | 0
.../devices/microblaze-softmmu/default.mak | 0
.../devices/microblazeel-softmmu/default.mak | 2 +-
.../devices/mips-softmmu/common.mak | 0
.../devices/mips-softmmu/default.mak | 2 +-
.../devices/mips64-softmmu/default.mak | 2 +-
.../devices/mips64el-softmmu/default.mak | 2 +-
.../devices/mipsel-softmmu/default.mak | 2 +-
.../devices/nios2-softmmu/default.mak | 0
.../devices/or1k-softmmu/default.mak | 0
.../devices/ppc-softmmu/default.mak | 0
.../devices/ppc64-softmmu/default.mak | 2 +-
.../devices/riscv32-softmmu/default.mak | 0
.../devices/riscv64-softmmu/default.mak | 0
.../devices/rx-softmmu/default.mak | 0
.../devices/s390x-softmmu/default.mak | 0
.../devices/sh4-softmmu/default.mak | 0
.../devices/sh4eb-softmmu/default.mak | 2 +-
.../devices/sparc-softmmu/default.mak | 0
.../devices/sparc64-softmmu/default.mak | 0
.../devices/tricore-softmmu/default.mak | 0
.../devices/x86_64-softmmu/default.mak | 2 +-
.../devices/xtensa-softmmu/default.mak | 0
configs/devices/xtensaeb-softmmu/default.mak | 3 +
.../targets/aarch64-linux-user.mak | 0
.../targets/aarch64-softmmu.mak | 0
.../targets/aarch64_be-linux-user.mak | 0
.../targets/alpha-linux-user.mak | 0
.../targets/alpha-softmmu.mak | 0
.../targets/arm-linux-user.mak | 0
.../targets/arm-softmmu.mak | 0
.../targets/armeb-linux-user.mak | 0
.../targets/avr-softmmu.mak | 0
.../targets/cris-linux-user.mak | 0
.../targets/cris-softmmu.mak | 0
.../targets/hexagon-linux-user.mak | 0
.../targets/hppa-linux-user.mak | 0
.../targets/hppa-softmmu.mak | 0
.../targets/i386-bsd-user.mak | 0
.../targets/i386-linux-user.mak | 0
.../targets/i386-softmmu.mak | 0
.../targets/m68k-linux-user.mak | 0
.../targets/m68k-softmmu.mak | 0
.../targets/microblaze-linux-user.mak | 0
.../targets/microblaze-softmmu.mak | 0
.../targets/microblazeel-linux-user.mak | 0
.../targets/microblazeel-softmmu.mak | 0
.../targets/mips-linux-user.mak | 0
.../targets/mips-softmmu.mak | 0
.../targets/mips64-linux-user.mak | 0
.../targets/mips64-softmmu.mak | 0
.../targets/mips64el-linux-user.mak | 0
.../targets/mips64el-softmmu.mak | 0
.../targets/mipsel-linux-user.mak | 0
.../targets/mipsel-softmmu.mak | 0
.../targets/mipsn32-linux-user.mak | 0
.../targets/mipsn32el-linux-user.mak | 0
.../targets/nios2-linux-user.mak | 0
.../targets/nios2-softmmu.mak | 0
.../targets/or1k-linux-user.mak | 0
.../targets/or1k-softmmu.mak | 0
.../targets/ppc-linux-user.mak | 0
.../targets/ppc-softmmu.mak | 0
.../targets/ppc64-linux-user.mak | 0
.../targets/ppc64-softmmu.mak | 0
.../targets/ppc64abi32-linux-user.mak | 0
.../targets/ppc64le-linux-user.mak | 0
.../targets/riscv32-linux-user.mak | 0
.../targets/riscv32-softmmu.mak | 0
.../targets/riscv64-linux-user.mak | 0
.../targets/riscv64-softmmu.mak | 0
.../targets/rx-softmmu.mak | 0
.../targets/s390x-linux-user.mak | 0
.../targets/s390x-softmmu.mak | 0
.../targets/sh4-linux-user.mak | 0
.../targets/sh4-softmmu.mak | 0
.../targets/sh4eb-linux-user.mak | 0
.../targets/sh4eb-softmmu.mak | 0
.../targets/sparc-linux-user.mak | 0
.../targets/sparc-softmmu.mak | 0
.../targets/sparc32plus-linux-user.mak | 0
.../targets/sparc64-linux-user.mak | 0
.../targets/sparc64-softmmu.mak | 0
.../targets/tricore-softmmu.mak | 0
.../targets/x86_64-bsd-user.mak | 0
.../targets/x86_64-linux-user.mak | 0
.../targets/x86_64-softmmu.mak | 0
.../targets/xtensa-linux-user.mak | 0
.../targets/xtensa-softmmu.mak | 0
.../targets/xtensaeb-linux-user.mak | 0
.../targets/xtensaeb-softmmu.mak | 0
configure | 44 +++--
contrib/vhost-user-gpu/meson.build | 2 +-
default-configs/devices/xtensaeb-softmmu.mak | 3 -
docs/devel/build-system.rst | 17 ++
docs/devel/index.rst | 1 +
docs/devel/modules.rst | 5 +
docs/devel/qom.rst | 8 +
hmp-commands-info.hx | 3 -
hw/arm/Kconfig | 4 +
hw/display/qxl.c | 4 +
hw/display/vhost-user-gpu-pci.c | 1 +
hw/display/vhost-user-gpu.c | 1 +
hw/display/vhost-user-vga.c | 1 +
hw/display/virtio-gpu-base.c | 1 +
hw/display/virtio-gpu-gl.c | 3 +
hw/display/virtio-gpu-pci-gl.c | 3 +
hw/display/virtio-gpu-pci.c | 2 +
hw/display/virtio-gpu.c | 1 +
hw/display/virtio-vga-gl.c | 3 +
hw/display/virtio-vga.c | 2 +
hw/ppc/spapr.c | 2 +-
hw/s390x/virtio-ccw-gpu.c | 3 +
hw/usb/ccid-card-emulated.c | 1 +
hw/usb/ccid-card-passthru.c | 1 +
hw/usb/dev-storage-bot.c | 1 +
hw/usb/dev-storage-classic.c | 1 +
hw/usb/dev-uas.c | 1 +
hw/usb/host-libusb.c | 38 +---
hw/usb/host-stub.c | 45 -----
hw/usb/meson.build | 10 +-
hw/usb/redirect.c | 1 +
include/hw/usb.h | 7 +-
include/monitor/monitor.h | 3 +
include/qemu/module.h | 79 ++++++++
include/qemu/osdep.h | 2 +-
meson.build | 142 ++++++++++++---
monitor/hmp.c | 7 +
monitor/misc.c | 34 ++--
scripts/entitlement.sh | 10 +-
scripts/modinfo-collect.py | 67 +++++++
scripts/modinfo-generate.py | 97 ++++++++++
softmmu/vl.c | 37 ++--
stubs/module-opts.c | 4 -
target/Kconfig | 19 ++
target/alpha/Kconfig | 2 +
target/arm/Kconfig | 6 +
target/avr/Kconfig | 2 +
target/cris/Kconfig | 2 +
target/hppa/Kconfig | 2 +
target/i386/Kconfig | 5 +
target/i386/cpu.h | 2 +
target/i386/helper.h | 3 +-
target/i386/svm.h | 3 +
target/i386/tcg/bpt_helper.c | 21 ---
target/i386/tcg/sysemu/bpt_helper.c | 47 +++--
target/i386/tcg/sysemu/svm_helper.c | 24 ++-
target/i386/tcg/translate.c | 1 +
target/m68k/Kconfig | 2 +
target/microblaze/Kconfig | 2 +
target/mips/Kconfig | 6 +
target/nios2/Kconfig | 2 +
target/openrisc/Kconfig | 2 +
target/ppc/Kconfig | 5 +
target/riscv/Kconfig | 5 +
target/rx/Kconfig | 2 +
target/s390x/Kconfig | 2 +
target/sh4/Kconfig | 2 +
target/sparc/Kconfig | 5 +
target/tricore/Kconfig | 2 +
target/xtensa/Kconfig | 2 +
tests/Makefile.include | 2 +-
ui/egl-headless.c | 4 +
ui/gtk.c | 4 +
ui/sdl2.c | 4 +
ui/spice-app.c | 3 +
ui/spice-core.c | 5 +
util/meson.build | 2 +-
util/module.c | 200 ++++++++++++---------
util/trace-events | 4 +
193 files changed, 885 insertions(+), 340 deletions(-)
create mode 100644 accel/tcg/hmp.c
rename default-configs/devices/aarch64-softmmu.mak => configs/devices/aarch64-softmmu/default.mak (82%)
create mode 100644 configs/devices/aarch64-softmmu/minimal.mak
rename default-configs/devices/alpha-softmmu.mak => configs/devices/alpha-softmmu/default.mak (100%)
rename default-configs/devices/arm-softmmu.mak => configs/devices/arm-softmmu/default.mak (89%)
rename default-configs/devices/avr-softmmu.mak => configs/devices/avr-softmmu/default.mak (100%)
rename default-configs/devices/cris-softmmu.mak => configs/devices/cris-softmmu/default.mak (100%)
rename default-configs/devices/hppa-softmmu.mak => configs/devices/hppa-softmmu/default.mak (100%)
rename default-configs/devices/i386-softmmu.mak => configs/devices/i386-softmmu/default.mak (100%)
rename default-configs/devices/m68k-softmmu.mak => configs/devices/m68k-softmmu/default.mak (100%)
rename default-configs/devices/microblaze-softmmu.mak => configs/devices/microblaze-softmmu/default.mak (100%)
rename default-configs/devices/microblazeel-softmmu.mak => configs/devices/microblazeel-softmmu/default.mak (54%)
rename default-configs/devices/mips-softmmu-common.mak => configs/devices/mips-softmmu/common.mak (100%)
rename default-configs/devices/mips-softmmu.mak => configs/devices/mips-softmmu/default.mak (56%)
rename default-configs/devices/mips64-softmmu.mak => configs/devices/mips64-softmmu/default.mak (62%)
rename default-configs/devices/mips64el-softmmu.mak => configs/devices/mips64el-softmmu/default.mak (88%)
rename default-configs/devices/mipsel-softmmu.mak => configs/devices/mipsel-softmmu/default.mak (55%)
rename default-configs/devices/nios2-softmmu.mak => configs/devices/nios2-softmmu/default.mak (100%)
rename default-configs/devices/or1k-softmmu.mak => configs/devices/or1k-softmmu/default.mak (100%)
rename default-configs/devices/ppc-softmmu.mak => configs/devices/ppc-softmmu/default.mak (100%)
rename default-configs/devices/ppc64-softmmu.mak => configs/devices/ppc64-softmmu/default.mak (79%)
rename default-configs/devices/riscv32-softmmu.mak => configs/devices/riscv32-softmmu/default.mak (100%)
rename default-configs/devices/riscv64-softmmu.mak => configs/devices/riscv64-softmmu/default.mak (100%)
rename default-configs/devices/rx-softmmu.mak => configs/devices/rx-softmmu/default.mak (100%)
rename default-configs/devices/s390x-softmmu.mak => configs/devices/s390x-softmmu/default.mak (100%)
rename default-configs/devices/sh4-softmmu.mak => configs/devices/sh4-softmmu/default.mak (100%)
rename default-configs/devices/sh4eb-softmmu.mak => configs/devices/sh4eb-softmmu/default.mak (55%)
rename default-configs/devices/sparc-softmmu.mak => configs/devices/sparc-softmmu/default.mak (100%)
rename default-configs/devices/sparc64-softmmu.mak => configs/devices/sparc64-softmmu/default.mak (100%)
rename default-configs/devices/tricore-softmmu.mak => configs/devices/tricore-softmmu/default.mak (100%)
rename default-configs/devices/x86_64-softmmu.mak => configs/devices/x86_64-softmmu/default.mak (55%)
rename default-configs/devices/xtensa-softmmu.mak => configs/devices/xtensa-softmmu/default.mak (100%)
create mode 100644 configs/devices/xtensaeb-softmmu/default.mak
rename {default-configs => configs}/targets/aarch64-linux-user.mak (100%)
rename {default-configs => configs}/targets/aarch64-softmmu.mak (100%)
rename {default-configs => configs}/targets/aarch64_be-linux-user.mak (100%)
rename {default-configs => configs}/targets/alpha-linux-user.mak (100%)
rename {default-configs => configs}/targets/alpha-softmmu.mak (100%)
rename {default-configs => configs}/targets/arm-linux-user.mak (100%)
rename {default-configs => configs}/targets/arm-softmmu.mak (100%)
rename {default-configs => configs}/targets/armeb-linux-user.mak (100%)
rename {default-configs => configs}/targets/avr-softmmu.mak (100%)
rename {default-configs => configs}/targets/cris-linux-user.mak (100%)
rename {default-configs => configs}/targets/cris-softmmu.mak (100%)
rename {default-configs => configs}/targets/hexagon-linux-user.mak (100%)
rename {default-configs => configs}/targets/hppa-linux-user.mak (100%)
rename {default-configs => configs}/targets/hppa-softmmu.mak (100%)
rename {default-configs => configs}/targets/i386-bsd-user.mak (100%)
rename {default-configs => configs}/targets/i386-linux-user.mak (100%)
rename {default-configs => configs}/targets/i386-softmmu.mak (100%)
rename {default-configs => configs}/targets/m68k-linux-user.mak (100%)
rename {default-configs => configs}/targets/m68k-softmmu.mak (100%)
rename {default-configs => configs}/targets/microblaze-linux-user.mak (100%)
rename {default-configs => configs}/targets/microblaze-softmmu.mak (100%)
rename {default-configs => configs}/targets/microblazeel-linux-user.mak (100%)
rename {default-configs => configs}/targets/microblazeel-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips64-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips64-softmmu.mak (100%)
rename {default-configs => configs}/targets/mips64el-linux-user.mak (100%)
rename {default-configs => configs}/targets/mips64el-softmmu.mak (100%)
rename {default-configs => configs}/targets/mipsel-linux-user.mak (100%)
rename {default-configs => configs}/targets/mipsel-softmmu.mak (100%)
rename {default-configs => configs}/targets/mipsn32-linux-user.mak (100%)
rename {default-configs => configs}/targets/mipsn32el-linux-user.mak (100%)
rename {default-configs => configs}/targets/nios2-linux-user.mak (100%)
rename {default-configs => configs}/targets/nios2-softmmu.mak (100%)
rename {default-configs => configs}/targets/or1k-linux-user.mak (100%)
rename {default-configs => configs}/targets/or1k-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc64-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc64-softmmu.mak (100%)
rename {default-configs => configs}/targets/ppc64abi32-linux-user.mak (100%)
rename {default-configs => configs}/targets/ppc64le-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv32-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv32-softmmu.mak (100%)
rename {default-configs => configs}/targets/riscv64-linux-user.mak (100%)
rename {default-configs => configs}/targets/riscv64-softmmu.mak (100%)
rename {default-configs => configs}/targets/rx-softmmu.mak (100%)
rename {default-configs => configs}/targets/s390x-linux-user.mak (100%)
rename {default-configs => configs}/targets/s390x-softmmu.mak (100%)
rename {default-configs => configs}/targets/sh4-linux-user.mak (100%)
rename {default-configs => configs}/targets/sh4-softmmu.mak (100%)
rename {default-configs => configs}/targets/sh4eb-linux-user.mak (100%)
rename {default-configs => configs}/targets/sh4eb-softmmu.mak (100%)
rename {default-configs => configs}/targets/sparc-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc-softmmu.mak (100%)
rename {default-configs => configs}/targets/sparc32plus-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc64-linux-user.mak (100%)
rename {default-configs => configs}/targets/sparc64-softmmu.mak (100%)
rename {default-configs => configs}/targets/tricore-softmmu.mak (100%)
rename {default-configs => configs}/targets/x86_64-bsd-user.mak (100%)
rename {default-configs => configs}/targets/x86_64-linux-user.mak (100%)
rename {default-configs => configs}/targets/x86_64-softmmu.mak (100%)
rename {default-configs => configs}/targets/xtensa-linux-user.mak (100%)
rename {default-configs => configs}/targets/xtensa-softmmu.mak (100%)
rename {default-configs => configs}/targets/xtensaeb-linux-user.mak (100%)
rename {default-configs => configs}/targets/xtensaeb-softmmu.mak (100%)
delete mode 100644 default-configs/devices/xtensaeb-softmmu.mak
create mode 100644 docs/devel/modules.rst
delete mode 100644 hw/usb/host-stub.c
create mode 100755 scripts/modinfo-collect.py
create mode 100755 scripts/modinfo-generate.py
create mode 100644 target/Kconfig
create mode 100644 target/alpha/Kconfig
create mode 100644 target/arm/Kconfig
create mode 100644 target/avr/Kconfig
create mode 100644 target/cris/Kconfig
create mode 100644 target/hppa/Kconfig
create mode 100644 target/i386/Kconfig
create mode 100644 target/m68k/Kconfig
create mode 100644 target/microblaze/Kconfig
create mode 100644 target/mips/Kconfig
create mode 100644 target/nios2/Kconfig
create mode 100644 target/openrisc/Kconfig
create mode 100644 target/ppc/Kconfig
create mode 100644 target/riscv/Kconfig
create mode 100644 target/rx/Kconfig
create mode 100644 target/s390x/Kconfig
create mode 100644 target/sh4/Kconfig
create mode 100644 target/sparc/Kconfig
create mode 100644 target/tricore/Kconfig
create mode 100644 target/xtensa/Kconfig
--
2.31.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PULL v2 05/48] modules: add modinfo macros
2021-07-10 18:58 [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Paolo Bonzini
@ 2021-07-10 18:58 ` Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 48/48] meson: Use input/output for entitlements target Paolo Bonzini
2021-07-12 10:01 ` [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Peter Maydell
2 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-07-10 18:58 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann, Jose R . Ziviani
From: Gerd Hoffmann <kraxel@redhat.com>
Add macros for module info annotations.
Instead of having that module meta-data stored in lists in util/module.c
place directly in the module source code.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jose R. Ziviani <jziviani@suse.de>
Message-Id: <20210624103836.2382472-2-kraxel@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
include/qemu/module.h | 61 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/include/qemu/module.h b/include/qemu/module.h
index 944d403cbd..b595f15975 100644
--- a/include/qemu/module.h
+++ b/include/qemu/module.h
@@ -73,4 +73,65 @@ bool module_load_one(const char *prefix, const char *lib_name, bool mayfail);
void module_load_qom_one(const char *type);
void module_load_qom_all(void);
+/**
+ * DOC: module info annotation macros
+ *
+ * `scripts/modinfo-collect.py` will collect module info,
+ * using the preprocessor and -DQEMU_MODINFO.
+ *
+ * `scripts/modinfo-generate.py` will create a module meta-data database
+ * from the collected information so qemu knows about module
+ * dependencies and QOM objects implemented by modules.
+ *
+ * See `*.modinfo` and `modinfo.c` in the build directory to check the
+ * script results.
+ */
+#ifdef QEMU_MODINFO
+# define modinfo(kind, value) \
+ MODINFO_START kind value MODINFO_END
+#else
+# define modinfo(kind, value)
+#endif
+
+/**
+ * module_obj
+ *
+ * @name: QOM type.
+ *
+ * This module implements QOM type @name.
+ */
+#define module_obj(name) modinfo(obj, name)
+
+/**
+ * module_dep
+ *
+ * @name: module name
+ *
+ * This module depends on module @name.
+ */
+#define module_dep(name) modinfo(dep, name)
+
+/**
+ * module_arch
+ *
+ * @name: target architecture
+ *
+ * This module is for target architecture @arch.
+ *
+ * Note that target-dependent modules are tagged automatically, so
+ * this is only needed in case target-independent modules should be
+ * restricted. Use case example: the ccw bus is implemented by s390x
+ * only.
+ */
+#define module_arch(name) modinfo(arch, name)
+
+/**
+ * module_opts
+ *
+ * @name: QemuOpts name
+ *
+ * This module registers QemuOpts @name.
+ */
+#define module_opts(name) modinfo(opts, name)
+
#endif
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PULL v2 48/48] meson: Use input/output for entitlements target
2021-07-10 18:58 [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 05/48] modules: add modinfo macros Paolo Bonzini
@ 2021-07-10 18:58 ` Paolo Bonzini
2021-07-12 10:01 ` [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Peter Maydell
2 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-07-10 18:58 UTC (permalink / raw)
To: qemu-devel; +Cc: Akihiko Odaki
From: Akihiko Odaki <akihiko.odaki@gmail.com>
input/output parameters respect dependencies.
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Message-Id: <20210709012533.58262-1-akihiko.odaki@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
meson.build | 30 +++++++++++++++++-------------
scripts/entitlement.sh | 10 +++++-----
2 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/meson.build b/meson.build
index 651c3b114b..b2e8731410 100644
--- a/meson.build
+++ b/meson.build
@@ -2609,28 +2609,32 @@ foreach target : target_dirs
link_args: link_args,
gui_app: exe['gui'])
- if 'CONFIG_HVF' in config_target
- entitlements = meson.current_source_dir() / 'accel/hvf/entitlements.plist'
- else
- entitlements = '/dev/null'
- endif
if targetos == 'darwin'
- icon = meson.current_source_dir() / 'pc-bios/qemu.rsrc'
+ icon = 'pc-bios/qemu.rsrc'
+ build_input = [emulator, files(icon)]
+ install_input = [
+ get_option('bindir') / exe_name,
+ meson.current_source_dir() / icon
+ ]
+ if 'CONFIG_HVF' in config_target
+ entitlements = 'accel/hvf/entitlements.plist'
+ build_input += files(entitlements)
+ install_input += meson.current_source_dir() / entitlements
+ endif
+
emulators += {exe['name'] : custom_target(exe['name'],
- depends: emulator,
+ input: build_input,
output: exe['name'],
command: [
- meson.current_source_dir() / 'scripts/entitlement.sh',
- meson.current_build_dir() / exe_name,
- meson.current_build_dir() / exe['name'],
- entitlements, icon
+ files('scripts/entitlement.sh'),
+ '@OUTPUT@',
+ '@INPUT@'
])
}
meson.add_install_script('scripts/entitlement.sh', '--install',
- get_option('bindir') / exe_name,
get_option('bindir') / exe['name'],
- entitlements, icon)
+ install_input)
else
emulators += {exe['name']: emulator}
endif
diff --git a/scripts/entitlement.sh b/scripts/entitlement.sh
index d2a7079ce3..e2c956a3ac 100755
--- a/scripts/entitlement.sh
+++ b/scripts/entitlement.sh
@@ -8,10 +8,10 @@ if [ "$1" = --install ]; then
in_place=false
fi
-SRC="$1"
-DST="$2"
-ENTITLEMENT="$3"
-ICON="$4"
+DST="$1"
+SRC="$2"
+ICON="$3"
+ENTITLEMENT="$4"
if $in_place; then
trap 'rm "$DST.tmp"' exit
@@ -21,7 +21,7 @@ else
cd "$MESON_INSTALL_DESTDIR_PREFIX"
fi
-if test "$ENTITLEMENT" != '/dev/null'; then
+if test -n "$ENTITLEMENT"; then
codesign --entitlements "$ENTITLEMENT" --force -s - "$SRC"
fi
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze
2021-07-10 18:58 [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 05/48] modules: add modinfo macros Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 48/48] meson: Use input/output for entitlements target Paolo Bonzini
@ 2021-07-12 10:01 ` Peter Maydell
2021-07-12 12:27 ` Daniel P. Berrangé
2 siblings, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2021-07-12 10:01 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Sat, 10 Jul 2021 at 20:01, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 05de778b5b8ab0b402996769117b88c7ea5c7c61:
>
> Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2021-07-09 14:30:01 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 411ad8dd80077e98ed465775b044caf1a9482f6c:
>
> meson: Use input/output for entitlements target (2021-07-09 18:21:34 +0200)
>
> v1->v2: fix docs build, add final patch for entitlements target
>
> ----------------------------------------------------------------
> * More SVM fixes (Lara)
> * Module annotation database (Gerd)
> * Memory leak fixes (myself)
> * Build fixes (myself)
> * --with-devices-* support (Alex)
>
> ----------------------------------------------------------------
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/6.1
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze
2021-07-12 10:01 ` [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Peter Maydell
@ 2021-07-12 12:27 ` Daniel P. Berrangé
0 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-07-12 12:27 UTC (permalink / raw)
To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers
On Mon, Jul 12, 2021 at 11:01:55AM +0100, Peter Maydell wrote:
> On Sat, 10 Jul 2021 at 20:01, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > The following changes since commit 05de778b5b8ab0b402996769117b88c7ea5c7c61:
> >
> > Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2021-07-09 14:30:01 +0100)
> >
> > are available in the Git repository at:
> >
> > https://gitlab.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to 411ad8dd80077e98ed465775b044caf1a9482f6c:
> >
> > meson: Use input/output for entitlements target (2021-07-09 18:21:34 +0200)
> >
> > v1->v2: fix docs build, add final patch for entitlements target
> >
> > ----------------------------------------------------------------
> > * More SVM fixes (Lara)
> > * Module annotation database (Gerd)
> > * Memory leak fixes (myself)
> > * Build fixes (myself)
> > * --with-devices-* support (Alex)
> >
> > ----------------------------------------------------------------
>
>
> Applied, thanks.
>
> Please update the changelog at https://wiki.qemu.org/ChangeLog/6.1
> for any user-visible changes.
This series has broken the build for me:
/usr/bin/ld: libqemuutil.a(util_async.c.o): in function `aio_setup_linux_io_uring':
/home/berrange/src/virt/qemu/build/../util/async.c:421: undefined reference to `luring_init'
/usr/bin/ld: /home/berrange/src/virt/qemu/build/../util/async.c:426: undefined reference to `luring_attach_aio_context'
/usr/bin/ld: libqemuutil.a(util_async.c.o): in function `aio_ctx_finalize':
/home/berrange/src/virt/qemu/build/../util/async.c:334: undefined reference to `luring_detach_aio_context'
/usr/bin/ld: /home/berrange/src/virt/qemu/build/../util/async.c:335: undefined reference to `luring_cleanup'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
git bisect blames:
commit 63a7f853063133fd1aa34ab0744b009fa3d7e183 (refs/bisect/bad)
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: Thu Jul 8 13:50:06 2021 +0200
meson: fix missing preprocessor symbols
While most libraries do not need a CONFIG_* symbol because the
"when:" clauses are enough, some do. Add them back or stop
using them if possible.
In the case of libpmem, the statement to add the CONFIG_* symbol
was still in configure, but could not be triggered because it
checked for "no" instead of "disabled" (and it would be wrong anyway
since the test for the library has not been done yet).
Reported-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Fixes: 587d59d6cc ("configure, meson: convert virgl detection to meson", 2021-07-06)
Fixes: 83ef16821a ("configure, meson: convert libdaxctl detection to meson", 2021-07-06)
Fixes: e36e8c70f6 ("configure, meson: convert libpmem detection to meson", 2021-07-06)
Fixes: 53c22b68e3 ("configure, meson: convert liburing detection to meson", 2021-07-06)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
IIUC, we didn't detect this in gitlab CI because liburing-devel is not
present in any of the dockerfiles currently in git master. This omission
is fixed in my series here which will be in Alex's next pull:
https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg06374.html
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-07-12 12:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-10 18:58 [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 05/48] modules: add modinfo macros Paolo Bonzini
2021-07-10 18:58 ` [PULL v2 48/48] meson: Use input/output for entitlements target Paolo Bonzini
2021-07-12 10:01 ` [PULL v2 00/48] Misc patches for QEMU 6.1 soft freeze Peter Maydell
2021-07-12 12:27 ` Daniel P. Berrangé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.