Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qemu for openSUSE:Factory checked in at 2021-03-08 15:14:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qemu (Old) and /work/SRC/openSUSE:Factory/.qemu.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qemu" Mon Mar 8 15:14:56 2021 rev:198 rq:876626 version:5.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qemu/qemu.changes 2021-03-02 12:31:03.187606946 +0100 +++ /work/SRC/openSUSE:Factory/.qemu.new.2378/qemu.changes 2021-03-08 15:15:50.853875227 +0100 @@ -1,0 +2,21 @@ +Wed Mar 3 17:18:39 UTC 2021 - Bruce Rogers <[email protected]> + +- Add patch from IBM to improve modularization situation on s390 + where a new qemu module, hw-s390x-virtio-gpu-ccw.so, and a + corresponding new qemu-hw-s390x-virtio-gpu-ccw subpackage, is + split out (this parallels the hw-display-virtio-gpu-pci.so module). + Split-provides file is also used to track this functionality + splitout. Both the packages supplying the above mentioned modules + now have a Requires on the qemu-hw-display-virtio-gpu package. It + is anticipated that this change is going in upstream as well, and + if done differently the plan is to update to the upstream + implementation if possible (bsc#1181103) + hw-s390x-modularize-virtio-gpu-ccw.patch + +------------------------------------------------------------------- +Fri Feb 26 15:31:46 UTC 2021 - Bruce Rogers <[email protected]> + +- Added a few more usability improvements for our git packaging + workflow + +------------------------------------------------------------------- New: ---- hw-s390x-modularize-virtio-gpu-ccw.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qemu.spec ++++++ --- /var/tmp/diff_new_pack.r0n0Z5/_old 2021-03-08 15:15:55.245878610 +0100 +++ /var/tmp/diff_new_pack.r0n0Z5/_new 2021-03-08 15:15:55.249878612 +0100 @@ -157,51 +157,52 @@ Patch00024: monitor-Fix-assertion-failure-on-shutdow.patch Patch00025: spice-app-avoid-crash-when-core-spice-mo.patch Patch00026: hw-s390x-fix-build-for-virtio-9p-ccw.patch -Patch00027: XXX-dont-dump-core-on-sigabort.patch -Patch00028: qemu-binfmt-conf-Modify-default-path.patch -Patch00029: qemu-cvs-gettimeofday.patch -Patch00030: qemu-cvs-ioctl_debug.patch -Patch00031: qemu-cvs-ioctl_nodirection.patch -Patch00032: linux-user-add-binfmt-wrapper-for-argv-0.patch -Patch00033: PPC-KVM-Disable-mmu-notifier-check.patch -Patch00034: linux-user-binfmt-support-host-binaries.patch -Patch00035: linux-user-Fake-proc-cpuinfo.patch -Patch00036: linux-user-use-target_ulong.patch -Patch00037: Make-char-muxer-more-robust-wrt-small-FI.patch -Patch00038: linux-user-lseek-explicitly-cast-non-set.patch -Patch00039: AIO-Reduce-number-of-threads-for-32bit-h.patch -Patch00040: xen_disk-Add-suse-specific-flush-disable.patch -Patch00041: qemu-bridge-helper-reduce-security-profi.patch -Patch00042: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch -Patch00043: roms-Makefile-pass-a-packaging-timestamp.patch -Patch00044: Raise-soft-address-space-limit-to-hard-l.patch -Patch00045: increase-x86_64-physical-bits-to-42.patch -Patch00046: i8254-Fix-migration-from-SLE11-SP2.patch -Patch00047: acpi_piix4-Fix-migration-from-SLE11-SP2.patch -Patch00048: Make-installed-scripts-explicitly-python.patch -Patch00049: hw-smbios-handle-both-file-formats-regar.patch -Patch00050: xen-add-block-resize-support-for-xen-dis.patch -Patch00051: tests-qemu-iotests-Triple-timeout-of-i-o.patch -Patch00052: tests-Fix-block-tests-to-be-compatible-w.patch -Patch00053: xen-ignore-live-parameter-from-xen-save-.patch -Patch00054: tests-change-error-message-in-test-162.patch -Patch00055: hw-intc-exynos4210_gic-provide-more-room.patch -Patch00056: configure-only-populate-roms-if-softmmu.patch -Patch00057: pc-bios-s390-ccw-net-avoid-warning-about.patch -Patch00058: roms-change-cross-compiler-naming-to-be-.patch -Patch00059: test-add-mapping-from-arch-of-i686-to-qe.patch -Patch00060: configure-remove-pkgversion-from-CONFIG_.patch -Patch00061: docs-add-SUSE-support-statements-to-html.patch -Patch00062: s390x-Fix-stringop-truncation-issue-repo.patch -Patch00063: Revert-qht-constify-qht_statistics_init.patch -Patch00064: qht-Revert-some-constification-in-qht.c.patch -Patch00065: meson-install-ivshmem-client-and-ivshmem.patch -Patch00066: Revert-roms-efirom-tests-uefi-test-tools.patch -Patch00067: Makefile-Don-t-check-pc-bios-as-pre-requ.patch -Patch00068: roms-Makefile-add-cross-file-to-qboot-me.patch -Patch00069: usb-Help-compiler-out-to-avoid-a-warning.patch -Patch00070: module-for-virtio-gpu-pre-load-module-to.patch -Patch00071: qom-handle-case-of-chardev-spice-module-.patch +Patch00027: hw-s390x-modularize-virtio-gpu-ccw.patch +Patch00028: XXX-dont-dump-core-on-sigabort.patch +Patch00029: qemu-binfmt-conf-Modify-default-path.patch +Patch00030: qemu-cvs-gettimeofday.patch +Patch00031: qemu-cvs-ioctl_debug.patch +Patch00032: qemu-cvs-ioctl_nodirection.patch +Patch00033: linux-user-add-binfmt-wrapper-for-argv-0.patch +Patch00034: PPC-KVM-Disable-mmu-notifier-check.patch +Patch00035: linux-user-binfmt-support-host-binaries.patch +Patch00036: linux-user-Fake-proc-cpuinfo.patch +Patch00037: linux-user-use-target_ulong.patch +Patch00038: Make-char-muxer-more-robust-wrt-small-FI.patch +Patch00039: linux-user-lseek-explicitly-cast-non-set.patch +Patch00040: AIO-Reduce-number-of-threads-for-32bit-h.patch +Patch00041: xen_disk-Add-suse-specific-flush-disable.patch +Patch00042: qemu-bridge-helper-reduce-security-profi.patch +Patch00043: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch +Patch00044: roms-Makefile-pass-a-packaging-timestamp.patch +Patch00045: Raise-soft-address-space-limit-to-hard-l.patch +Patch00046: increase-x86_64-physical-bits-to-42.patch +Patch00047: i8254-Fix-migration-from-SLE11-SP2.patch +Patch00048: acpi_piix4-Fix-migration-from-SLE11-SP2.patch +Patch00049: Make-installed-scripts-explicitly-python.patch +Patch00050: hw-smbios-handle-both-file-formats-regar.patch +Patch00051: xen-add-block-resize-support-for-xen-dis.patch +Patch00052: tests-qemu-iotests-Triple-timeout-of-i-o.patch +Patch00053: tests-Fix-block-tests-to-be-compatible-w.patch +Patch00054: xen-ignore-live-parameter-from-xen-save-.patch +Patch00055: tests-change-error-message-in-test-162.patch +Patch00056: hw-intc-exynos4210_gic-provide-more-room.patch +Patch00057: configure-only-populate-roms-if-softmmu.patch +Patch00058: pc-bios-s390-ccw-net-avoid-warning-about.patch +Patch00059: roms-change-cross-compiler-naming-to-be-.patch +Patch00060: test-add-mapping-from-arch-of-i686-to-qe.patch +Patch00061: configure-remove-pkgversion-from-CONFIG_.patch +Patch00062: docs-add-SUSE-support-statements-to-html.patch +Patch00063: s390x-Fix-stringop-truncation-issue-repo.patch +Patch00064: Revert-qht-constify-qht_statistics_init.patch +Patch00065: qht-Revert-some-constification-in-qht.c.patch +Patch00066: meson-install-ivshmem-client-and-ivshmem.patch +Patch00067: Revert-roms-efirom-tests-uefi-test-tools.patch +Patch00068: Makefile-Don-t-check-pc-bios-as-pre-requ.patch +Patch00069: roms-Makefile-add-cross-file-to-qboot-me.patch +Patch00070: usb-Help-compiler-out-to-avoid-a-warning.patch +Patch00071: module-for-virtio-gpu-pre-load-module-to.patch +Patch00072: qom-handle-case-of-chardev-spice-module-.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -364,7 +365,9 @@ Recommends: qemu-ksm = %{qemuver} Recommends: qemu-tools Recommends: qemu-ui-curses -%ifnarch s390x +%ifarch s390x +Recommends: qemu-hw-s390x-virtio-gpu-ccw +%else Recommends: qemu-hw-display-qxl Recommends: qemu-hw-display-virtio-gpu Recommends: qemu-hw-display-virtio-gpu-pci @@ -709,6 +712,7 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 +Requires: qemu-hw-display-virtio-gpu Provides: %name:%_datadir/%name/forsplits/11 %{qemu_module_conflicts} @@ -726,6 +730,18 @@ %description hw-display-virtio-vga This package contains a virtio vga driver for QEMU +%package hw-s390x-virtio-gpu-ccw +Summary: S390x virtio-gpu driver for QEMU +Group: System/Emulators/PC +Version: %{qemuver} +Release: 0 +Requires: qemu-hw-display-virtio-gpu +Provides: %name:%_datadir/%name/forsplits/13 +%{qemu_module_conflicts} + +%description hw-s390x-virtio-gpu-ccw +This package contains an s390x virtio gpu driver for QEMU + %package hw-usb-redirect Summary: USB redirection support for QEMU Group: System/Emulators/PC @@ -1070,23 +1086,24 @@ %patch00058 -p1 %patch00059 -p1 %patch00060 -p1 -%if %{legacy_qemu_kvm} %patch00061 -p1 -%endif +%if %{legacy_qemu_kvm} %patch00062 -p1 +%endif %patch00063 -p1 %patch00064 -p1 %patch00065 -p1 %patch00066 -p1 %patch00067 -p1 -%ifarch aarch64 %patch00068 -p1 -%endif -%ifarch %arm %ix86 ppc +%ifarch aarch64 %patch00069 -p1 %endif +%ifarch %arm %ix86 ppc %patch00070 -p1 +%endif %patch00071 -p1 +%patch00072 -p1 %patch01000 -p1 %patch01001 -p1 %patch01002 -p1 @@ -1750,7 +1767,7 @@ ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt -for X in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 +for X in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 do ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X done @@ -1855,7 +1872,9 @@ %dir %_datadir/%name %dir %_datadir/%name/firmware %dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/13 +%_datadir/%name/forsplits/14 +%_datadir/%name/forsplits/15 +%_datadir/%name/forsplits/16 %_datadir/%name/forsplits/pkg-split.txt %_datadir/%name/keymaps %_datadir/%name/qemu-ifup @@ -2214,6 +2233,14 @@ %dir %_libdir/%name %_libdir/%name/hw-display-virtio-vga.so +%files hw-s390x-virtio-gpu-ccw +%defattr(-, root, root) +%dir %_datadir/%name +%dir %_datadir/%name/forsplits +%_datadir/%name/forsplits/13 +%dir %_libdir/%name +%_libdir/%name/hw-s390x-virtio-gpu-ccw.so + %files hw-usb-redirect %defattr(-, root, root) %dir %_datadir/%name ++++++ bundles.tar.xz ++++++ Binary files old/553032db17440f8de011390e5a1cfddd13751b0b.bundle and new/553032db17440f8de011390e5a1cfddd13751b0b.bundle differ ++++++ config.sh ++++++ --- /var/tmp/diff_new_pack.r0n0Z5/_old 2021-03-08 15:15:55.785879025 +0100 +++ /var/tmp/diff_new_pack.r0n0Z5/_new 2021-03-08 15:15:55.789879029 +0100 @@ -4,6 +4,14 @@ # The next few VARIABLES are to be edited as required: +# Here is the git repo which tracks a separate upstream git based project +# We take this approach so we can have our own tags and branches, and store +# the patches in git for others to access outside of the bundle. +PACKAGE_MAIN_GIT_REPO=https://github.com/openSUSE/qemu.git + +# This is the upstream for the PACKAGE_MAIN_GIT_REPO +UPSTREAM_GIT_REPO=https://gitlab.com/qemu-project/qemu.git + # The following specifies the upstream tag or commit upon which our patchqueue # gets rebased. The special value LATEST may be used to "automatically" track # the upstream development tree in the master branch @@ -28,9 +36,8 @@ NUMBERED_PATCHES=0 PATCH_RANGE=1000 -REPO_COUNT=36 -# This tracks the git submodule path within the superproject (1st entry) +# This array tracks all git submodule paths within the superproject (1st entry) PATCH_PATH_MAP=( "" "roms/seabios/" @@ -70,11 +77,7 @@ "roms/edk2/MdeModulePkg/Library/BrotliCompress/brotli/research/libdivsufsort/" ) -# Perhaps we need to instead use the terminal local dirname as the index -# and store the ~/git/ as a separate VARIABLE -# This way, we only have one big array instead of two -# BUT STILL WE NEED TO START WITH THE DATA STORED SOMEWHERE!!!!!! -# (order must correspond to PATCH_PATH_MAP) +# (order and count must correspond to PATCH_PATH_MAP) LOCAL_REPO_MAP=( ~/git/qemu-opensuse ~/git/qemu-seabios @@ -113,8 +116,3 @@ ~/git/qemu-edk2-BrotliCompress-brotli-research-esaxx ~/git/qemu-edk2-BrotliCompress-brotli-research-libdivsufsort ) - -# TEMPORARY! FOR NOW WE REQUIRE THESE LOCALLY TO DO WORK ON PACKAGE -REQUIRED_LOCAL_REPO_MAP=( - ~/git/qemu-opensuse -) ++++++ hw-s390x-modularize-virtio-gpu-ccw.patch ++++++ From: Halil Pasic <[email protected]> Date: Tue, 2 Mar 2021 18:35:44 +0100 Subject: hw/s390x: modularize virtio-gpu-ccw Git-commit: 0000000000000000000000000000000000000000 References: bsc#1181103 Since the virtio-gpu-ccw device depends on the hw-display-virtio-gpu module, which provides the type virtio-gpu-device, packaging the hw-display-virtio-gpu module as a separate package that may or may not be installed along with the qemu package leads to problems. Namely if the hw-display-virtio-gpu is absent, qemu continues to advertise virtio-gpu-ccw, but it aborts not only when one attempts using virtio-gpu-ccw, but also when libvirtd's capability probing tries to instantiate the type to introspect it. Let us thus introduce a module named hw-s390x-virtio-gpu-ccw that is going to provide the virtio-gpu-ccw device. The hw-s390x prefix was chosen because it is not a portable device. Because registering virtio-gpu-ccw would make non-s390x emulator fail due to a missing parent type, if built as a module, before registering it, we check if the ancestor types are already registered. With virtio-gpu-ccw built as a module, the correct way to package a modularized qemu is to require that hw-display-virtio-gpu must be installed whenever the module hw-s390x-virtio-gpu-ccw. The definition S390_ADAPTER_SUPPRESSIBLE was moved to "cpu.h", per suggestion of Thomas Huth. From interface design perspective, IMHO, not a good thing as it belongs to the public interface of css_register_io_adapters(). We did this because CONFIG_KVM requeires NEED_CPU_H and Thomas, and other commenters did not like the consequences of that. Moving the interrupt related declarations to s390_flic.h was suggested by Cornelia Huck. Signed-off-by: Halil Pasic <[email protected]> Signed-off-by: Bruce Rogers <[email protected]> --- hw/s390x/meson.build | 7 ++++- hw/s390x/virtio-ccw-gpu.c | 5 ++++ include/hw/s390x/css.h | 7 ----- include/hw/s390x/s390_flic.h | 3 +++ include/qom/object.h | 10 ++++++++ qom/object.c | 50 ++++++++++++++++++++++++++++++++++++ target/s390x/cpu.h | 9 ++++--- util/module.c | 1 + 8 files changed, 81 insertions(+), 11 deletions(-) diff --git a/hw/s390x/meson.build b/hw/s390x/meson.build index e53b7a69930a27dd030994ab6a54..1c7baa629cd71f3b62b69dc0cf7c 100644 --- a/hw/s390x/meson.build +++ b/hw/s390x/meson.build @@ -34,7 +34,6 @@ virtio_ss.add(files('virtio-ccw.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-ccw-balloon.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-ccw-blk.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-ccw-crypto.c')) -virtio_ss.add(when: 'CONFIG_VIRTIO_GPU', if_true: files('virtio-ccw-gpu.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-ccw-input.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-ccw-net.c')) virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-ccw-rng.c')) @@ -46,3 +45,9 @@ virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user-fs-ccw.c' s390x_ss.add_all(when: 'CONFIG_VIRTIO_CCW', if_true: virtio_ss) hw_arch += {'s390x': s390x_ss} + +hw_s390x_modules = {} +virtio_gpu_ccw_ss = ss.source_set() +virtio_gpu_ccw_ss.add(when: 'CONFIG_VIRTIO_GPU', if_true: [files('virtio-ccw-gpu.c'), pixman]) +hw_s390x_modules += {'virtio-gpu-ccw': virtio_gpu_ccw_ss} +modules += {'hw-s390x': hw_s390x_modules} diff --git a/hw/s390x/virtio-ccw-gpu.c b/hw/s390x/virtio-ccw-gpu.c index c301e2586bde8aff7333ea029c02..ccdf6ac20f3946e9480b8aae4d99 100644 --- a/hw/s390x/virtio-ccw-gpu.c +++ b/hw/s390x/virtio-ccw-gpu.c @@ -62,6 +62,11 @@ static const TypeInfo virtio_ccw_gpu = { static void virtio_ccw_gpu_register(void) { +#ifdef CONFIG_MODULES + if (!type_ancestors_registered(&virtio_ccw_gpu)) { + return; + } +#endif type_register_static(&virtio_ccw_gpu); } diff --git a/include/hw/s390x/css.h b/include/hw/s390x/css.h index 08c869ab0afc18f34fb28056ce29..7858666307a1baaf2586dce56c07 100644 --- a/include/hw/s390x/css.h +++ b/include/hw/s390x/css.h @@ -12,7 +12,6 @@ #ifndef CSS_H #define CSS_H -#include "cpu.h" #include "hw/s390x/adapter.h" #include "hw/s390x/s390_flic.h" #include "hw/s390x/ioinst.h" @@ -233,12 +232,6 @@ uint32_t css_get_adapter_id(CssIoAdapterType type, uint8_t isc); void css_register_io_adapters(CssIoAdapterType type, bool swap, bool maskable, uint8_t flags, Error **errp); -#ifndef CONFIG_KVM -#define S390_ADAPTER_SUPPRESSIBLE 0x01 -#else -#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE -#endif - #ifndef CONFIG_USER_ONLY SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid, uint16_t schid); diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h index e91b15d2d6af5feb2e7e7284bfbd..3907a13d07664bad96d466b3d20a 100644 --- a/include/hw/s390x/s390_flic.h +++ b/include/hw/s390x/s390_flic.h @@ -134,6 +134,9 @@ void s390_flic_init(void); S390FLICState *s390_get_flic(void); QEMUS390FLICState *s390_get_qemu_flic(S390FLICState *fs); S390FLICStateClass *s390_get_flic_class(S390FLICState *fs); +void s390_crw_mchk(void); +void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr, + uint32_t io_int_parm, uint32_t io_int_word); bool ais_needed(void *opaque); #endif /* HW_S390_FLIC_H */ diff --git a/include/qom/object.h b/include/qom/object.h index d378f13a116a6845966489e7436e..990bdb601b2a5c7caeba5340c880 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -814,6 +814,16 @@ ObjectClass *object_get_class(Object *obj); */ const char *object_get_typename(const Object *obj); +/** + * type_ancestors_registered: + * @info: The #TypeInfo of the type + * + * Returns: true if all the ancestor types, that is classes and interfaces this + * type inherits form are all already registered, false if there is an ancestor + * that ain't registered yet + */ +bool type_ancestors_registered(const TypeInfo *info); + /** * type_register_static: * @info: The #TypeInfo of the new type. diff --git a/qom/object.c b/qom/object.c index 10653552334549241cd5672d7a02..8b8cd1bdc9d176af921315b9cc2f 100644 --- a/qom/object.c +++ b/qom/object.c @@ -281,6 +281,56 @@ static void object_property_free(gpointer data) g_free(prop); } +static TypeImpl *type_get_parent_const(const TypeImpl *ti) +{ + return ti->parent_type ? ti->parent_type : type_get_by_name(ti->parent); +} + + +static bool __type_ancestors_registered(const TypeImpl *ti) +{ + TypeImpl *parent; + int i; + + if (!ti) { + return false; + } + + if (ti->class) { + /* fully initialized */ + return true; + } + + for (i = 0; i < ti->num_interfaces; i++) { + if (!type_get_by_name(ti->interfaces[i].typename)) { + return false; + } + } + if (ti->parent) { + parent = type_get_parent_const(ti); + if (!parent) { + return false; + } + return __type_ancestors_registered(parent); + } + return true; +} + +bool type_ancestors_registered(const TypeInfo *info) +{ + int i; + + for (i = 0; info->interfaces && info->interfaces[i].type; i++) { + if (!type_get_by_name(info->interfaces[i].type)) { + return false; + } + } + if (info->parent) { + return __type_ancestors_registered(type_get_by_name(info->parent)); + } + return true; +} + static void type_initialize(TypeImpl *ti) { TypeImpl *parent; diff --git a/target/s390x/cpu.h b/target/s390x/cpu.h index 60d434d5edd55c59cfe7e345967c..b434b905c0ae337c62ddcc9d7e34 100644 --- a/target/s390x/cpu.h +++ b/target/s390x/cpu.h @@ -40,6 +40,12 @@ #define S390_MAX_CPUS 248 +#ifndef CONFIG_KVM +#define S390_ADAPTER_SUPPRESSIBLE 0x01 +#else +#define S390_ADAPTER_SUPPRESSIBLE KVM_S390_ADAPTER_SUPPRESSIBLE +#endif + typedef struct PSW { uint64_t mask; uint64_t addr; @@ -806,9 +812,6 @@ int cpu_s390x_signal_handler(int host_signum, void *pinfo, void *puc); /* interrupt.c */ -void s390_crw_mchk(void); -void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr, - uint32_t io_int_parm, uint32_t io_int_word); #define RA_IGNORED 0 void s390_program_interrupt(CPUS390XState *env, uint32_t code, uintptr_t ra); /* service interrupts are floating therefore we must not pass an cpustate */ diff --git a/util/module.c b/util/module.c index c65060c167df236d6e2163472708..cbe89fede628c3674e49194ee688 100644 --- a/util/module.c +++ b/util/module.c @@ -304,6 +304,7 @@ static struct { { "virtio-gpu-pci-base", "hw-", "display-virtio-gpu-pci" }, { "virtio-gpu-pci", "hw-", "display-virtio-gpu-pci" }, { "vhost-user-gpu-pci", "hw-", "display-virtio-gpu-pci" }, + { "virtio-gpu-ccw", "hw-", "s390x-virtio-gpu-ccw" }, { "virtio-vga-base", "hw-", "display-virtio-vga" }, { "virtio-vga", "hw-", "display-virtio-vga" }, { "vhost-user-vga", "hw-", "display-virtio-vga" }, ++++++ module-for-virtio-gpu-pre-load-module-to.patch ++++++ --- /var/tmp/diff_new_pack.r0n0Z5/_old 2021-03-08 15:15:55.937879143 +0100 +++ /var/tmp/diff_new_pack.r0n0Z5/_new 2021-03-08 15:15:55.941879145 +0100 @@ -28,10 +28,10 @@ #endif diff --git a/qom/object.c b/qom/object.c -index 10653552334549241cd5672d7a02..6f301fec34d103b0b07bc41d107c 100644 +index 8b8cd1bdc9d176af921315b9cc2f..588f09ae22ba33bd6c3298995fc6 100644 --- a/qom/object.c +++ b/qom/object.c -@@ -516,6 +516,18 @@ static void object_initialize_with_type(Object *obj, size_t size, TypeImpl *type +@@ -566,6 +566,18 @@ static void object_initialize_with_type(Object *obj, size_t size, TypeImpl *type object_post_init_with_type(obj, type); } ++++++ qemu.spec.in ++++++ --- /var/tmp/diff_new_pack.r0n0Z5/_old 2021-03-08 15:15:56.193879339 +0100 +++ /var/tmp/diff_new_pack.r0n0Z5/_new 2021-03-08 15:15:56.197879343 +0100 @@ -272,7 +272,9 @@ Recommends: qemu-ksm = %{qemuver} Recommends: qemu-tools Recommends: qemu-ui-curses -%ifnarch s390x +%ifarch s390x +Recommends: qemu-hw-s390x-virtio-gpu-ccw +%else Recommends: qemu-hw-display-qxl Recommends: qemu-hw-display-virtio-gpu Recommends: qemu-hw-display-virtio-gpu-pci @@ -617,6 +619,7 @@ Group: System/Emulators/PC Version: %{qemuver} Release: 0 +Requires: qemu-hw-display-virtio-gpu Provides: %name:%_datadir/%name/forsplits/11 %{qemu_module_conflicts} @@ -634,6 +637,18 @@ %description hw-display-virtio-vga This package contains a virtio vga driver for QEMU +%package hw-s390x-virtio-gpu-ccw +Summary: S390x virtio-gpu driver for QEMU +Group: System/Emulators/PC +Version: %{qemuver} +Release: 0 +Requires: qemu-hw-display-virtio-gpu +Provides: %name:%_datadir/%name/forsplits/13 +%{qemu_module_conflicts} + +%description hw-s390x-virtio-gpu-ccw +This package contains an s390x virtio gpu driver for QEMU + %package hw-usb-redirect Summary: USB redirection support for QEMU Group: System/Emulators/PC @@ -1567,7 +1582,7 @@ ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt -for X in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 +for X in 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 do ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X done @@ -1672,7 +1687,9 @@ %dir %_datadir/%name %dir %_datadir/%name/firmware %dir %_datadir/%name/forsplits -%_datadir/%name/forsplits/13 +%_datadir/%name/forsplits/14 +%_datadir/%name/forsplits/15 +%_datadir/%name/forsplits/16 %_datadir/%name/forsplits/pkg-split.txt %_datadir/%name/keymaps %_datadir/%name/qemu-ifup @@ -2031,6 +2048,14 @@ %dir %_libdir/%name %_libdir/%name/hw-display-virtio-vga.so +%files hw-s390x-virtio-gpu-ccw +%defattr(-, root, root) +%dir %_datadir/%name +%dir %_datadir/%name/forsplits +%_datadir/%name/forsplits/13 +%dir %_libdir/%name +%_libdir/%name/hw-s390x-virtio-gpu-ccw.so + %files hw-usb-redirect %defattr(-, root, root) %dir %_datadir/%name ++++++ qom-handle-case-of-chardev-spice-module-.patch ++++++ --- /var/tmp/diff_new_pack.r0n0Z5/_old 2021-03-08 15:15:56.221879362 +0100 +++ /var/tmp/diff_new_pack.r0n0Z5/_new 2021-03-08 15:15:56.221879362 +0100 @@ -14,7 +14,7 @@ 1 file changed, 6 insertions(+) diff --git a/qom/object.c b/qom/object.c -index 6f301fec34d103b0b07bc41d107c..0dec164192a55d3d9d955d445db9 100644 +index 588f09ae22ba33bd6c3298995fc6..97880a0495a95de0adcfedaa4f69 100644 --- a/qom/object.c +++ b/qom/object.c @@ -236,6 +236,12 @@ static bool type_is_ancestor(TypeImpl *type, TypeImpl *target_type) ++++++ update_git.sh ++++++ ++++ 868 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/qemu/update_git.sh ++++ and /work/SRC/openSUSE:Factory/.qemu.new.2378/update_git.sh
