* [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 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).