Accepting request 876625 from home:bfrogers:branches:Virtualization
- 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 OBS-URL: https://build.opensuse.org/request/show/876625 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=624
This commit is contained in:
parent
bb0d3e6db4
commit
93b0d48713
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:534e2f464e862407578fc3bc358f589e3f4dd2f5fda8fc89b357ea9cb376bc0d
|
oid sha256:cff512b6960855e812b61d46bb5d804dc2aeb49bb19a4938573f16fa6f822e3d
|
||||||
size 60640
|
size 62928
|
||||||
|
248
hw-s390x-modularize-virtio-gpu-ccw.patch
Normal file
248
hw-s390x-modularize-virtio-gpu-ccw.patch
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
From: Halil Pasic <pasic@linux.ibm.com>
|
||||||
|
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 <pasic@linux.ibm.com>
|
||||||
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||||||
|
---
|
||||||
|
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" },
|
@ -28,10 +28,10 @@ index 944d403cbd1535cc121af76a94f2..4b42dd285eeac1ba12e5c9e18ac0 100644
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
diff --git a/qom/object.c b/qom/object.c
|
diff --git a/qom/object.c b/qom/object.c
|
||||||
index 10653552334549241cd5672d7a02..6f301fec34d103b0b07bc41d107c 100644
|
index 8b8cd1bdc9d176af921315b9cc2f..588f09ae22ba33bd6c3298995fc6 100644
|
||||||
--- a/qom/object.c
|
--- a/qom/object.c
|
||||||
+++ b/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);
|
object_post_init_with_type(obj, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
15
qemu.changes
15
qemu.changes
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 3 17:18:39 UTC 2021 - Bruce Rogers <brogers@suse.com>
|
||||||
|
|
||||||
|
- 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 <brogers@suse.com>
|
Fri Feb 26 15:31:46 UTC 2021 - Bruce Rogers <brogers@suse.com>
|
||||||
|
|
||||||
|
133
qemu.spec
133
qemu.spec
@ -157,51 +157,52 @@ Patch00023: blockjob-Fix-crash-with-IOthread-when-bl.patch
|
|||||||
Patch00024: monitor-Fix-assertion-failure-on-shutdow.patch
|
Patch00024: monitor-Fix-assertion-failure-on-shutdow.patch
|
||||||
Patch00025: spice-app-avoid-crash-when-core-spice-mo.patch
|
Patch00025: spice-app-avoid-crash-when-core-spice-mo.patch
|
||||||
Patch00026: hw-s390x-fix-build-for-virtio-9p-ccw.patch
|
Patch00026: hw-s390x-fix-build-for-virtio-9p-ccw.patch
|
||||||
Patch00027: XXX-dont-dump-core-on-sigabort.patch
|
Patch00027: hw-s390x-modularize-virtio-gpu-ccw.patch
|
||||||
Patch00028: qemu-binfmt-conf-Modify-default-path.patch
|
Patch00028: XXX-dont-dump-core-on-sigabort.patch
|
||||||
Patch00029: qemu-cvs-gettimeofday.patch
|
Patch00029: qemu-binfmt-conf-Modify-default-path.patch
|
||||||
Patch00030: qemu-cvs-ioctl_debug.patch
|
Patch00030: qemu-cvs-gettimeofday.patch
|
||||||
Patch00031: qemu-cvs-ioctl_nodirection.patch
|
Patch00031: qemu-cvs-ioctl_debug.patch
|
||||||
Patch00032: linux-user-add-binfmt-wrapper-for-argv-0.patch
|
Patch00032: qemu-cvs-ioctl_nodirection.patch
|
||||||
Patch00033: PPC-KVM-Disable-mmu-notifier-check.patch
|
Patch00033: linux-user-add-binfmt-wrapper-for-argv-0.patch
|
||||||
Patch00034: linux-user-binfmt-support-host-binaries.patch
|
Patch00034: PPC-KVM-Disable-mmu-notifier-check.patch
|
||||||
Patch00035: linux-user-Fake-proc-cpuinfo.patch
|
Patch00035: linux-user-binfmt-support-host-binaries.patch
|
||||||
Patch00036: linux-user-use-target_ulong.patch
|
Patch00036: linux-user-Fake-proc-cpuinfo.patch
|
||||||
Patch00037: Make-char-muxer-more-robust-wrt-small-FI.patch
|
Patch00037: linux-user-use-target_ulong.patch
|
||||||
Patch00038: linux-user-lseek-explicitly-cast-non-set.patch
|
Patch00038: Make-char-muxer-more-robust-wrt-small-FI.patch
|
||||||
Patch00039: AIO-Reduce-number-of-threads-for-32bit-h.patch
|
Patch00039: linux-user-lseek-explicitly-cast-non-set.patch
|
||||||
Patch00040: xen_disk-Add-suse-specific-flush-disable.patch
|
Patch00040: AIO-Reduce-number-of-threads-for-32bit-h.patch
|
||||||
Patch00041: qemu-bridge-helper-reduce-security-profi.patch
|
Patch00041: xen_disk-Add-suse-specific-flush-disable.patch
|
||||||
Patch00042: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch
|
Patch00042: qemu-bridge-helper-reduce-security-profi.patch
|
||||||
Patch00043: roms-Makefile-pass-a-packaging-timestamp.patch
|
Patch00043: qemu-binfmt-conf-use-qemu-ARCH-binfmt.patch
|
||||||
Patch00044: Raise-soft-address-space-limit-to-hard-l.patch
|
Patch00044: roms-Makefile-pass-a-packaging-timestamp.patch
|
||||||
Patch00045: increase-x86_64-physical-bits-to-42.patch
|
Patch00045: Raise-soft-address-space-limit-to-hard-l.patch
|
||||||
Patch00046: i8254-Fix-migration-from-SLE11-SP2.patch
|
Patch00046: increase-x86_64-physical-bits-to-42.patch
|
||||||
Patch00047: acpi_piix4-Fix-migration-from-SLE11-SP2.patch
|
Patch00047: i8254-Fix-migration-from-SLE11-SP2.patch
|
||||||
Patch00048: Make-installed-scripts-explicitly-python.patch
|
Patch00048: acpi_piix4-Fix-migration-from-SLE11-SP2.patch
|
||||||
Patch00049: hw-smbios-handle-both-file-formats-regar.patch
|
Patch00049: Make-installed-scripts-explicitly-python.patch
|
||||||
Patch00050: xen-add-block-resize-support-for-xen-dis.patch
|
Patch00050: hw-smbios-handle-both-file-formats-regar.patch
|
||||||
Patch00051: tests-qemu-iotests-Triple-timeout-of-i-o.patch
|
Patch00051: xen-add-block-resize-support-for-xen-dis.patch
|
||||||
Patch00052: tests-Fix-block-tests-to-be-compatible-w.patch
|
Patch00052: tests-qemu-iotests-Triple-timeout-of-i-o.patch
|
||||||
Patch00053: xen-ignore-live-parameter-from-xen-save-.patch
|
Patch00053: tests-Fix-block-tests-to-be-compatible-w.patch
|
||||||
Patch00054: tests-change-error-message-in-test-162.patch
|
Patch00054: xen-ignore-live-parameter-from-xen-save-.patch
|
||||||
Patch00055: hw-intc-exynos4210_gic-provide-more-room.patch
|
Patch00055: tests-change-error-message-in-test-162.patch
|
||||||
Patch00056: configure-only-populate-roms-if-softmmu.patch
|
Patch00056: hw-intc-exynos4210_gic-provide-more-room.patch
|
||||||
Patch00057: pc-bios-s390-ccw-net-avoid-warning-about.patch
|
Patch00057: configure-only-populate-roms-if-softmmu.patch
|
||||||
Patch00058: roms-change-cross-compiler-naming-to-be-.patch
|
Patch00058: pc-bios-s390-ccw-net-avoid-warning-about.patch
|
||||||
Patch00059: test-add-mapping-from-arch-of-i686-to-qe.patch
|
Patch00059: roms-change-cross-compiler-naming-to-be-.patch
|
||||||
Patch00060: configure-remove-pkgversion-from-CONFIG_.patch
|
Patch00060: test-add-mapping-from-arch-of-i686-to-qe.patch
|
||||||
Patch00061: docs-add-SUSE-support-statements-to-html.patch
|
Patch00061: configure-remove-pkgversion-from-CONFIG_.patch
|
||||||
Patch00062: s390x-Fix-stringop-truncation-issue-repo.patch
|
Patch00062: docs-add-SUSE-support-statements-to-html.patch
|
||||||
Patch00063: Revert-qht-constify-qht_statistics_init.patch
|
Patch00063: s390x-Fix-stringop-truncation-issue-repo.patch
|
||||||
Patch00064: qht-Revert-some-constification-in-qht.c.patch
|
Patch00064: Revert-qht-constify-qht_statistics_init.patch
|
||||||
Patch00065: meson-install-ivshmem-client-and-ivshmem.patch
|
Patch00065: qht-Revert-some-constification-in-qht.c.patch
|
||||||
Patch00066: Revert-roms-efirom-tests-uefi-test-tools.patch
|
Patch00066: meson-install-ivshmem-client-and-ivshmem.patch
|
||||||
Patch00067: Makefile-Don-t-check-pc-bios-as-pre-requ.patch
|
Patch00067: Revert-roms-efirom-tests-uefi-test-tools.patch
|
||||||
Patch00068: roms-Makefile-add-cross-file-to-qboot-me.patch
|
Patch00068: Makefile-Don-t-check-pc-bios-as-pre-requ.patch
|
||||||
Patch00069: usb-Help-compiler-out-to-avoid-a-warning.patch
|
Patch00069: roms-Makefile-add-cross-file-to-qboot-me.patch
|
||||||
Patch00070: module-for-virtio-gpu-pre-load-module-to.patch
|
Patch00070: usb-Help-compiler-out-to-avoid-a-warning.patch
|
||||||
Patch00071: qom-handle-case-of-chardev-spice-module-.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/:
|
# Patches applied in roms/seabios/:
|
||||||
Patch01000: seabios-use-python2-explicitly-as-needed.patch
|
Patch01000: seabios-use-python2-explicitly-as-needed.patch
|
||||||
Patch01001: seabios-switch-to-python3-as-needed.patch
|
Patch01001: seabios-switch-to-python3-as-needed.patch
|
||||||
@ -364,7 +365,9 @@ Recommends: qemu-block-curl
|
|||||||
Recommends: qemu-ksm = %{qemuver}
|
Recommends: qemu-ksm = %{qemuver}
|
||||||
Recommends: qemu-tools
|
Recommends: qemu-tools
|
||||||
Recommends: qemu-ui-curses
|
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-qxl
|
||||||
Recommends: qemu-hw-display-virtio-gpu
|
Recommends: qemu-hw-display-virtio-gpu
|
||||||
Recommends: qemu-hw-display-virtio-gpu-pci
|
Recommends: qemu-hw-display-virtio-gpu-pci
|
||||||
@ -709,6 +712,7 @@ Summary: Virtio-gpu driver for QEMU
|
|||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Version: %{qemuver}
|
Version: %{qemuver}
|
||||||
Release: 0
|
Release: 0
|
||||||
|
Requires: qemu-hw-display-virtio-gpu
|
||||||
Provides: %name:%_datadir/%name/forsplits/11
|
Provides: %name:%_datadir/%name/forsplits/11
|
||||||
%{qemu_module_conflicts}
|
%{qemu_module_conflicts}
|
||||||
|
|
||||||
@ -726,6 +730,18 @@ Provides: %name:%_datadir/%name/forsplits/12
|
|||||||
%description hw-display-virtio-vga
|
%description hw-display-virtio-vga
|
||||||
This package contains a virtio vga driver for QEMU
|
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
|
%package hw-usb-redirect
|
||||||
Summary: USB redirection support for QEMU
|
Summary: USB redirection support for QEMU
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -1070,23 +1086,24 @@ This package records qemu testsuite results and represents successful testing.
|
|||||||
%patch00058 -p1
|
%patch00058 -p1
|
||||||
%patch00059 -p1
|
%patch00059 -p1
|
||||||
%patch00060 -p1
|
%patch00060 -p1
|
||||||
%if %{legacy_qemu_kvm}
|
|
||||||
%patch00061 -p1
|
%patch00061 -p1
|
||||||
%endif
|
%if %{legacy_qemu_kvm}
|
||||||
%patch00062 -p1
|
%patch00062 -p1
|
||||||
|
%endif
|
||||||
%patch00063 -p1
|
%patch00063 -p1
|
||||||
%patch00064 -p1
|
%patch00064 -p1
|
||||||
%patch00065 -p1
|
%patch00065 -p1
|
||||||
%patch00066 -p1
|
%patch00066 -p1
|
||||||
%patch00067 -p1
|
%patch00067 -p1
|
||||||
%ifarch aarch64
|
|
||||||
%patch00068 -p1
|
%patch00068 -p1
|
||||||
%endif
|
%ifarch aarch64
|
||||||
%ifarch %arm %ix86 ppc
|
|
||||||
%patch00069 -p1
|
%patch00069 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch %arm %ix86 ppc
|
||||||
%patch00070 -p1
|
%patch00070 -p1
|
||||||
|
%endif
|
||||||
%patch00071 -p1
|
%patch00071 -p1
|
||||||
|
%patch00072 -p1
|
||||||
%patch01000 -p1
|
%patch01000 -p1
|
||||||
%patch01001 -p1
|
%patch01001 -p1
|
||||||
%patch01002 -p1
|
%patch01002 -p1
|
||||||
@ -1750,7 +1767,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
|||||||
ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid
|
ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid
|
||||||
|
|
||||||
install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt
|
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
|
do
|
||||||
ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X
|
ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X
|
||||||
done
|
done
|
||||||
@ -1855,7 +1872,9 @@ fi
|
|||||||
%dir %_datadir/%name
|
%dir %_datadir/%name
|
||||||
%dir %_datadir/%name/firmware
|
%dir %_datadir/%name/firmware
|
||||||
%dir %_datadir/%name/forsplits
|
%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/forsplits/pkg-split.txt
|
||||||
%_datadir/%name/keymaps
|
%_datadir/%name/keymaps
|
||||||
%_datadir/%name/qemu-ifup
|
%_datadir/%name/qemu-ifup
|
||||||
@ -2214,6 +2233,14 @@ fi
|
|||||||
%dir %_libdir/%name
|
%dir %_libdir/%name
|
||||||
%_libdir/%name/hw-display-virtio-vga.so
|
%_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
|
%files hw-usb-redirect
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%dir %_datadir/%name
|
%dir %_datadir/%name
|
||||||
|
31
qemu.spec.in
31
qemu.spec.in
@ -272,7 +272,9 @@ Recommends: qemu-block-curl
|
|||||||
Recommends: qemu-ksm = %{qemuver}
|
Recommends: qemu-ksm = %{qemuver}
|
||||||
Recommends: qemu-tools
|
Recommends: qemu-tools
|
||||||
Recommends: qemu-ui-curses
|
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-qxl
|
||||||
Recommends: qemu-hw-display-virtio-gpu
|
Recommends: qemu-hw-display-virtio-gpu
|
||||||
Recommends: qemu-hw-display-virtio-gpu-pci
|
Recommends: qemu-hw-display-virtio-gpu-pci
|
||||||
@ -617,6 +619,7 @@ Summary: Virtio-gpu driver for QEMU
|
|||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
Version: %{qemuver}
|
Version: %{qemuver}
|
||||||
Release: 0
|
Release: 0
|
||||||
|
Requires: qemu-hw-display-virtio-gpu
|
||||||
Provides: %name:%_datadir/%name/forsplits/11
|
Provides: %name:%_datadir/%name/forsplits/11
|
||||||
%{qemu_module_conflicts}
|
%{qemu_module_conflicts}
|
||||||
|
|
||||||
@ -634,6 +637,18 @@ Provides: %name:%_datadir/%name/forsplits/12
|
|||||||
%description hw-display-virtio-vga
|
%description hw-display-virtio-vga
|
||||||
This package contains a virtio vga driver for QEMU
|
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
|
%package hw-usb-redirect
|
||||||
Summary: USB redirection support for QEMU
|
Summary: USB redirection support for QEMU
|
||||||
Group: System/Emulators/PC
|
Group: System/Emulators/PC
|
||||||
@ -1567,7 +1582,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
|||||||
ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid
|
ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid
|
||||||
|
|
||||||
install -D -m 0644 %{SOURCE201} %{buildroot}%_datadir/%name/forsplits/pkg-split.txt
|
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
|
do
|
||||||
ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X
|
ln -s pkg-split.txt %{buildroot}%_datadir/%name/forsplits/$X
|
||||||
done
|
done
|
||||||
@ -1672,7 +1687,9 @@ fi
|
|||||||
%dir %_datadir/%name
|
%dir %_datadir/%name
|
||||||
%dir %_datadir/%name/firmware
|
%dir %_datadir/%name/firmware
|
||||||
%dir %_datadir/%name/forsplits
|
%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/forsplits/pkg-split.txt
|
||||||
%_datadir/%name/keymaps
|
%_datadir/%name/keymaps
|
||||||
%_datadir/%name/qemu-ifup
|
%_datadir/%name/qemu-ifup
|
||||||
@ -2031,6 +2048,14 @@ fi
|
|||||||
%dir %_libdir/%name
|
%dir %_libdir/%name
|
||||||
%_libdir/%name/hw-display-virtio-vga.so
|
%_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
|
%files hw-usb-redirect
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%dir %_datadir/%name
|
%dir %_datadir/%name
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: Bruce Rogers <brogers@suse.com>
|
|||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/qom/object.c b/qom/object.c
|
diff --git a/qom/object.c b/qom/object.c
|
||||||
index 6f301fec34d103b0b07bc41d107c..0dec164192a55d3d9d955d445db9 100644
|
index 588f09ae22ba33bd6c3298995fc6..97880a0495a95de0adcfedaa4f69 100644
|
||||||
--- a/qom/object.c
|
--- a/qom/object.c
|
||||||
+++ b/qom/object.c
|
+++ b/qom/object.c
|
||||||
@@ -236,6 +236,12 @@ static bool type_is_ancestor(TypeImpl *type, TypeImpl *target_type)
|
@@ -236,6 +236,12 @@ static bool type_is_ancestor(TypeImpl *type, TypeImpl *target_type)
|
||||||
|
Loading…
Reference in New Issue
Block a user