Another update with the weekly rebase

This commit is contained in:
Danilo C. L. de Paula 2020-07-14 10:45:56 -04:00
parent 3a50cdf32a
commit d364584f57
29 changed files with 374 additions and 3786 deletions

View File

@ -1,4 +1,4 @@
From 6527eafb590d72354bb02662f95d7603cd3a3fd3 Mon Sep 17 00:00:00 2001
From effec13a9f842205be3526bcfb15e2068c0067b0 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Thu, 23 Apr 2020 05:26:54 +0200
Subject: redhat: Adding slirp to the exploded tree

View File

@ -1,4 +1,4 @@
From b9d95992b85d3667c13df3a321933c44c7157d0b Mon Sep 17 00:00:00 2001
From 9f51ea3d645d7da3eaf55f3e5cedc4cd42981efc Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 12 Oct 2018 07:31:11 +0200
Subject: Initial redhat build
@ -11,7 +11,7 @@ several issues are fixed in QEMU tree:
- Man page renamed from qemu to qemu-kvm
- man page is installed using make install so we have to fix it in qemu tree
This rebase includes changes up to qemu-kvm-4.2.0-28.el8
This rebase includes changes up to qemu-kvm-4.2.0-29.el8
Rebase notes (3.1.0):
- added new configure options
@ -133,13 +133,13 @@ Merged patches (weekly-200617):
redhat/Makefile | 86 +
redhat/Makefile.common | 53 +
redhat/README.tests | 39 +
redhat/qemu-kvm.spec.template | 2956 +++++++++++++++++++++++++++++++++++
redhat/qemu-kvm.spec.template | 2961 +++++++++++++++++++++++++++++++++++
redhat/qemu-pr-helper.service | 2 +-
redhat/scripts/extract_build_cmd.py | 2 +-
redhat/scripts/process-patches.sh | 7 +-
tests/check-block.sh | 2 +
ui/vnc.c | 2 +-
12 files changed, 3145 insertions(+), 9 deletions(-)
12 files changed, 3150 insertions(+), 9 deletions(-)
create mode 100644 redhat/Makefile
create mode 100644 redhat/Makefile.common
create mode 100644 redhat/README.tests
@ -167,10 +167,10 @@ index b1b8a5a..88b7565 100644
$(INSTALL_DATA) docs/interop/qemu-qmp-ref.7 "$(DESTDIR)$(mandir)/man7"
$(INSTALL_DATA) $(MANUAL_BUILDDIR)/system/qemu-block-drivers.7 "$(DESTDIR)$(mandir)/man7"
diff --git a/configure b/configure
index 4a22dcd..53979dc 100755
index ee6c3c6..bd957a5 100755
--- a/configure
+++ b/configure
@@ -2596,6 +2596,7 @@ if test "$seccomp" != "no" ; then
@@ -2610,6 +2610,7 @@ if test "$seccomp" != "no" ; then
seccomp="no"
fi
fi
@ -192,10 +192,10 @@ index 8e29c86..e9bcb5a 100755
ret=0
diff --git a/ui/vnc.c b/ui/vnc.c
index 12a1271..89fb616 100644
index 527ad25..8099c0e 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3972,7 +3972,7 @@ void vnc_display_open(const char *id, Error **errp)
@@ -3970,7 +3970,7 @@ void vnc_display_open(const char *id, Error **errp)
#ifdef CONFIG_VNC_SASL
if (sasl) {

View File

@ -1,4 +1,4 @@
From b1e6c8e2a9b58d215042adbd0fffdf102ac9a9d7 Mon Sep 17 00:00:00 2001
From c956c1d145adb87a8a830bf6091dac80b7925054 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Mon, 11 Jan 2016 11:53:33 +0100
Subject: Enable/disable devices for RHEL
@ -572,7 +572,7 @@ index fa5c3fa..854094c 100644
smartcard.mo-libs := $(SMARTCARD_LIBS)
endif
diff --git a/qemu-options.hx b/qemu-options.hx
index 196f468..43b0dbc 100644
index fa1b19d..b969944 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2248,10 +2248,6 @@ ERST
@ -587,7 +587,7 @@ index 196f468..43b0dbc 100644
DEF("acpitable", HAS_ARG, QEMU_OPTION_acpitable,
"-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...]\n"
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 3e15ee2..3693dfb 100644
index 9da2e23..6509057 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -145,7 +145,7 @@ static Chardev **serial_hds;

View File

@ -1,4 +1,4 @@
From 1266dec11bec3867e8eda3062384b07986a89d3b Mon Sep 17 00:00:00 2001
From cbbdd67535fc6da1b77b2fa9f5368f72c211eeb1 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 11 Jan 2019 09:54:45 +0100
Subject: Machine type related general changes
@ -101,7 +101,7 @@ index 7ead029..3b8501f 100644
&pm->disable_s3, OBJ_PROP_FLAG_READWRITE);
object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S4_DISABLED,
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 630ca6e..715bc17 100644
index 283422e..f664201 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -276,6 +276,7 @@ static const VMStateDescription vmstate_acpi = {
@ -124,7 +124,7 @@ index 630ca6e..715bc17 100644
DEFINE_PROP_BOOL("acpi-pci-hotplug-with-bridge-support", PIIX4PMState,
use_acpi_hotplug_bridge, true),
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index cd0834c..2e3efd3 100644
index 7d9f715..e30b837 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1450,7 +1450,7 @@ static void virt_build_smbios(VirtMachineState *vms)
@ -386,7 +386,7 @@ index 3aaeeec..d88f52a 100644
};
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 1d832b2..82a33b4 100644
index fae487f..18815e8 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -179,6 +179,8 @@ static void pc_init1(MachineState *machine,
@ -399,7 +399,7 @@ index 1d832b2..82a33b4 100644
}
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 047ea8d..1818d31 100644
index acd6d40..a1131e6 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -204,6 +204,8 @@ static void pc_q35_init(MachineState *machine)
@ -716,10 +716,10 @@ index 28a5318..ff4a672 100644
#define ACPI_PM_PROP_TCO_ENABLED "enable_tco"
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 18815d9..2224fbc 100644
index 426ce5f..1062df9 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -372,4 +372,28 @@ extern const size_t hw_compat_2_2_len;
@@ -373,4 +373,28 @@ extern const size_t hw_compat_2_2_len;
extern GlobalProperty hw_compat_2_1[];
extern const size_t hw_compat_2_1_len;
@ -792,7 +792,7 @@ index e29a376..35ac38c 100644
+
#endif
diff --git a/migration/migration.c b/migration/migration.c
index 481a590..a5a64f9 100644
index 92e44e0..67d3b75 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -128,6 +128,8 @@ enum mig_rp_message_type {

View File

@ -1,4 +1,4 @@
From 9506867ddf6d00d2dc502f69cfc0d274a2f1040c Mon Sep 17 00:00:00 2001
From 1f0568a29b004dd3557d5405fddc6979ac5ff911 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 19 Oct 2018 12:53:31 +0200
Subject: Add aarch64 machine types
@ -49,7 +49,7 @@ Merged patches (4.1.0):
2 files changed, 182 insertions(+), 1 deletion(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 2e3efd3..abbc7d5 100644
index e30b837..5a45677 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -79,6 +79,7 @@
@ -127,7 +127,7 @@ index 2e3efd3..abbc7d5 100644
static bool virt_get_highmem(Object *obj, Error **errp)
{
VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2339,6 +2384,7 @@ static int virt_kvm_type(MachineState *ms, const char *type_str)
@@ -2367,6 +2412,7 @@ static int virt_kvm_type(MachineState *ms, const char *type_str)
return requested_pa_size > 40 ? requested_pa_size : 0;
}
@ -135,7 +135,7 @@ index 2e3efd3..abbc7d5 100644
static void virt_machine_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
@@ -2604,3 +2650,127 @@ static void virt_machine_2_6_options(MachineClass *mc)
@@ -2637,3 +2683,127 @@ static void virt_machine_2_6_options(MachineClass *mc)
vmc->no_pmu = true;
}
DEFINE_VIRT_MACHINE(2, 6)
@ -264,10 +264,10 @@ index 2e3efd3..abbc7d5 100644
+}
+DEFINE_RHEL_MACHINE_AS_LATEST(8, 2, 0)
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 31878dd..5582fba 100644
index 54bcf17..5fdabd8 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -157,6 +157,7 @@ typedef struct {
@@ -165,6 +165,7 @@ typedef struct {
#define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM)
@ -275,7 +275,7 @@ index 31878dd..5582fba 100644
#define TYPE_VIRT_MACHINE MACHINE_TYPE_NAME("virt")
#define VIRT_MACHINE(obj) \
OBJECT_CHECK(VirtMachineState, (obj), TYPE_VIRT_MACHINE)
@@ -165,6 +166,16 @@ typedef struct {
@@ -173,6 +174,16 @@ typedef struct {
#define VIRT_MACHINE_CLASS(klass) \
OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE)

View File

@ -1,4 +1,4 @@
From d27b53512182f6aa6d9ccfcaf64e7aab1a064146 Mon Sep 17 00:00:00 2001
From 59c55f3104aa650b5b2a31150a34646cc7018b77 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 19 Oct 2018 13:27:13 +0200
Subject: Add ppc64 machine types
@ -42,7 +42,7 @@ Merged patches (weekly-200226):
5 files changed, 307 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 4c185bc..2fa25b1 100644
index f6f034d..f30618e 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4530,6 +4530,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data)

View File

@ -1,4 +1,4 @@
From bf565781e2deb548173e7530e29d886f6c1eaad8 Mon Sep 17 00:00:00 2001
From 92594368e1369e85d1b87dd1a65408a4f594cf09 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 19 Oct 2018 13:47:32 +0200
Subject: Add s390x machine types
@ -25,10 +25,10 @@ Merged patches (4.2.0):
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index b111406..f1b1722 100644
index 023fd25..0e8dd62 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -774,7 +774,7 @@ bool css_migration_enabled(void)
@@ -778,7 +778,7 @@ bool css_migration_enabled(void)
{ \
MachineClass *mc = MACHINE_CLASS(oc); \
ccw_machine_##suffix##_class_options(mc); \
@ -37,7 +37,7 @@ index b111406..f1b1722 100644
if (latest) { \
mc->alias = "s390-ccw-virtio"; \
mc->is_default = true; \
@@ -798,6 +798,7 @@ bool css_migration_enabled(void)
@@ -802,6 +802,7 @@ bool css_migration_enabled(void)
} \
type_init(ccw_machine_register_##suffix)
@ -45,7 +45,7 @@ index b111406..f1b1722 100644
static void ccw_machine_5_1_instance_options(MachineState *machine)
{
}
@@ -1050,6 +1051,74 @@ static void ccw_machine_2_4_class_options(MachineClass *mc)
@@ -1054,6 +1055,74 @@ static void ccw_machine_2_4_class_options(MachineClass *mc)
compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
}
DEFINE_CCW_MACHINE(2_4, "2.4", false);

View File

@ -1,4 +1,4 @@
From 04955c10da93ce94d73693a0be07b2a4c81246fe Mon Sep 17 00:00:00 2001
From 31a74446c5312b248bbc6093f21aee3500b96fca Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 19 Oct 2018 13:10:31 +0200
Subject: Add x86_64 machine types
@ -42,9 +42,6 @@ Merged patches (weekly-200122):
Merged patches (weekly-200318):
- e6c3fbf hw/smbios: set new default SMBIOS fields for Windows driver support (partialy)
Conflicts:
hw/i386/pc_piix.c
---
hw/i386/acpi-build.c | 3 +
hw/i386/pc.c | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++-
@ -71,10 +68,10 @@ index b7bcbbb..fe815c5 100644
}
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 4af9679..d17d6f8 100644
index 61acc9e..fe37bde 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -345,6 +345,263 @@ GlobalProperty pc_compat_1_4[] = {
@@ -346,6 +346,263 @@ GlobalProperty pc_compat_1_4[] = {
};
const size_t pc_compat_1_4_len = G_N_ELEMENTS(pc_compat_1_4);
@ -338,7 +335,7 @@ index 4af9679..d17d6f8 100644
GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled)
{
GSIState *s;
@@ -1010,7 +1267,8 @@ void pc_memory_init(PCMachineState *pcms,
@@ -1011,7 +1268,8 @@ void pc_memory_init(PCMachineState *pcms,
option_rom_mr = g_malloc(sizeof(*option_rom_mr));
memory_region_init_ram(option_rom_mr, NULL, "pc.rom", PC_ROM_SIZE,
&error_fatal);
@ -348,7 +345,7 @@ index 4af9679..d17d6f8 100644
memory_region_set_readonly(option_rom_mr, true);
}
memory_region_add_subregion_overlap(rom_memory,
@@ -1960,6 +2218,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
@@ -1969,6 +2227,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
pcmc->linuxboot_dma_enabled = true;
pcmc->pvh_enabled = true;
assert(!mc->get_hotplug_handler);
@ -357,7 +354,7 @@ index 4af9679..d17d6f8 100644
mc->get_hotplug_handler = pc_get_hotplug_handler;
mc->hotplug_allowed = pc_hotplug_allowed;
mc->cpu_index_to_instance_props = x86_cpu_index_to_props;
@@ -1971,7 +2231,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
@@ -1981,7 +2241,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
mc->hot_add_cpu = pc_hot_add_cpu;
mc->smp_parse = pc_smp_parse;
mc->block_default_type = IF_IDE;
@ -368,7 +365,7 @@ index 4af9679..d17d6f8 100644
mc->wakeup = pc_machine_wakeup;
hc->pre_plug = pc_machine_device_pre_plug_cb;
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 82a33b4..b195f26 100644
index 18815e8..eeadd89 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -54,6 +54,7 @@
@ -398,7 +395,7 @@ index 82a33b4..b195f26 100644
static void pc_compat_2_3_fn(MachineState *machine)
{
X86MachineState *x86ms = X86_MACHINE(machine);
@@ -991,3 +993,207 @@ static void xenfv_3_1_machine_options(MachineClass *m)
@@ -992,3 +994,207 @@ static void xenfv_3_1_machine_options(MachineClass *m)
DEFINE_PC_MACHINE(xenfv, "xenfv-3.1", pc_xen_hvm_init,
xenfv_3_1_machine_options);
#endif
@ -607,7 +604,7 @@ index 82a33b4..b195f26 100644
+DEFINE_PC_MACHINE(rhel700, "pc-i440fx-rhel7.0.0", pc_init_rhel700,
+ pc_machine_rhel700_options);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 1818d31..6c49a50 100644
index a1131e6..1cd4e15 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -201,8 +201,8 @@ static void pc_q35_init(MachineState *machine)
@ -629,7 +626,7 @@ index 1818d31..6c49a50 100644
static void pc_q35_machine_options(MachineClass *m)
{
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
@@ -564,3 +565,160 @@ static void pc_q35_2_4_machine_options(MachineClass *m)
@@ -565,3 +566,160 @@ static void pc_q35_2_4_machine_options(MachineClass *m)
DEFINE_Q35_MACHINE(v2_4, "pc-q35-2.4", NULL,
pc_q35_2_4_machine_options);
@ -791,13 +788,13 @@ index 1818d31..6c49a50 100644
+DEFINE_PC_MACHINE(q35_rhel730, "pc-q35-rhel7.3.0", pc_q35_init_rhel730,
+ pc_q35_machine_rhel730_options);
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 2224fbc..24c1348 100644
index 1062df9..c357731 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -207,6 +207,8 @@ struct MachineClass {
const char **valid_cpu_types;
@@ -208,6 +208,8 @@ struct MachineClass {
strList *allowed_dynamic_sysbus_devices;
bool auto_enable_numa_with_memhp;
bool auto_enable_numa_with_memdev;
+ /* RHEL only */
+ bool async_pf_vmexit_disable;
void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,

View File

@ -1,4 +1,4 @@
From 8704d7b6ca7438f10d162caf70572b62509b6341 Mon Sep 17 00:00:00 2001
From 93f9f7beccd34102c5c8e25c3b2b3888c61aa063 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Fri, 19 Oct 2018 13:48:41 +0200
Subject: Enable make check
@ -82,7 +82,7 @@ index 034d3a3..aadc413 100755
*)
;;
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index d886fa0..37dd761 100644
index 9b07a7e..c678d91 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -92,7 +92,7 @@

View File

@ -1,4 +1,4 @@
From a7132dd3a148a8990ef18b38baa2fb2aa89484b4 Mon Sep 17 00:00:00 2001
From ac9ff21203ff07854c232464d96e1f35741af8a6 Mon Sep 17 00:00:00 2001
From: Bandan Das <bsd@redhat.com>
Date: Tue, 3 Dec 2013 20:05:13 +0100
Subject: vfio: cap number of devices that can be assigned
@ -41,7 +41,7 @@ Merged patches (2.9.0):
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 6838bcc..ac109b4 100644
index d020ea9..e4292ea 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -47,6 +47,9 @@

View File

@ -1,4 +1,4 @@
From b87487f40dcc351fb7c31a37b6facbdaab285b0c Mon Sep 17 00:00:00 2001
From 0f0f3ab53bc61fbf66e546ab6bd22d1a60102b79 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost@redhat.com>
Date: Wed, 4 Dec 2013 18:53:17 +0100
Subject: Add support statement to -help output
@ -23,7 +23,7 @@ Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
1 file changed, 9 insertions(+)
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 3693dfb..9d2e2d3 100644
index 6509057..8453de5 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1674,9 +1674,17 @@ static void version(void)

View File

@ -1,4 +1,4 @@
From 0aa24293cae6e15d483b9aa34f5c27ace53e478c Mon Sep 17 00:00:00 2001
From 47faf13d999995693d505074ee73d4908356888b Mon Sep 17 00:00:00 2001
From: Andrew Jones <drjones@redhat.com>
Date: Tue, 21 Jan 2014 10:46:52 +0100
Subject: globally limit the maximum number of CPUs
@ -80,10 +80,10 @@ This commit matches the limit to current KVM_CAP_NR_VCPUS value.
2 files changed, 30 insertions(+)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index d54a870..aa562c2 100644
index ab36fbf..6f6bb47 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -2089,6 +2089,18 @@ static int kvm_init(MachineState *ms)
@@ -2088,6 +2088,18 @@ static int kvm_init(MachineState *ms)
soft_vcpus_limit = kvm_recommended_vcpus(s);
hard_vcpus_limit = kvm_max_vcpus(s);
@ -103,7 +103,7 @@ index d54a870..aa562c2 100644
if (nc->num > soft_vcpus_limit) {
warn_report("Number of %s cpus requested (%d) exceeds "
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 9d2e2d3..accccd8 100644
index 8453de5..ea6e9e4 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -116,6 +116,8 @@

View File

@ -1,4 +1,4 @@
From dbf4ed3ddf5439d9563eb408bb95396b3b2c650f Mon Sep 17 00:00:00 2001
From bc118b0038083bcd54a970ed0a6c92f9d55759e2 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Thu, 8 Oct 2015 09:50:17 +0200
Subject: Add support for simpletrace

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From 6a0ad69ff5249d19e497ea902cd456c442febb80 Mon Sep 17 00:00:00 2001
From 1cd3f04262da39a69509435c1db96c0c2a8ebd62 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Fri, 5 May 2017 19:06:14 +0200
Subject: usb-xhci: Fix PCI capability order

View File

@ -1,4 +1,4 @@
From fed8a416435347899223bbfc260e57d8f8ddd20a Mon Sep 17 00:00:00 2001
From 766fb0162dea8353a39f6eeff5ba90309cb0338e Mon Sep 17 00:00:00 2001
From: Fam Zheng <famz@redhat.com>
Date: Wed, 14 Jun 2017 15:37:01 +0200
Subject: virtio-scsi: Reject scsi-cd if data plane enabled [RHEL only]
@ -45,7 +45,7 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
1 file changed, 9 insertions(+)
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 9b72094..71614b4 100644
index b497752..d3a64a6 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -814,6 +814,15 @@ static void virtio_scsi_hotplug(HotplugHandler *hotplug_dev, DeviceState *dev,

View File

@ -1,4 +1,4 @@
From 00aeb546c0f989cf0c4a9623bbac9b187b051d68 Mon Sep 17 00:00:00 2001
From ff6425248e516c678db5bb85d59b5811c48bedaf Mon Sep 17 00:00:00 2001
From: David Gibson <dgibson@redhat.com>
Date: Wed, 6 Feb 2019 03:58:56 +0000
Subject: BZ1653590: Require at least 64kiB pages for downstream guests & hosts

View File

@ -1,4 +1,4 @@
From 79b1a539f271440baa5d3ef4264c761175ca1c9d Mon Sep 17 00:00:00 2001
From 2ce0d065e712fdfae74a52cfa5188791eaa7f848 Mon Sep 17 00:00:00 2001
From: Kevin Wolf <kwolf@redhat.com>
Date: Fri, 13 Mar 2020 12:34:32 +0000
Subject: block: Versioned x-blockdev-reopen API with feature flag
@ -29,7 +29,7 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 0e1c6a5..6d94f92 100644
index b20332e..db4544d 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -4135,10 +4135,17 @@

View File

@ -0,0 +1,52 @@
From 0e4d9f0332efd8417831815a414a5131f85e0a85 Mon Sep 17 00:00:00 2001
From: Juan Quintela <quintela@redhat.com>
Date: Fri, 3 Jul 2020 12:37:05 -0400
Subject: virtio-net: fix removal of failover device
RH-Author: Juan Quintela <quintela@redhat.com>
Message-id: <20200703123705.7175-2-quintela@redhat.com>
Patchwork-id: 97901
O-Subject: [RHEL-AV-8.2.1 qemu-kvm PATCH 1/1] virtio-net: fix removal of failover device
Bugzilla: 1820120
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
If you have a networking device and its virtio failover device, and
you remove them in this order:
- virtio device
- the real device
You get qemu crash.
See bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1820120
Bug exist on qemu 4.2 and 5.0.
But in 5.0 don't shows because commit
77b06bba62034a87cc61a9c8de1309ae3e527d97
somehow papers over it.
CC: Jason Wang <jasowang@redhat.com>
CC: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
hw/net/virtio-net.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 1596cb1..f82455b 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -3417,6 +3417,7 @@ static void virtio_net_device_unrealize(DeviceState *dev)
g_free(n->vlans);
if (n->failover) {
+ device_listener_unregister(&n->primary_listener);
g_free(n->primary_device_id);
g_free(n->standby_id);
qobject_unref(n->primary_device_dict);
--
1.8.3.1

View File

@ -1,6 +1,6 @@
From c3b099b389455b919b4b22011ed2fa3e7fd49510 Mon Sep 17 00:00:00 2001
From 34817c44ee8e467df7e9f92b5fffa5679172bb58 Mon Sep 17 00:00:00 2001
From: David Gibson <dgibson@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: RHEL-only: Enable vTPM for POWER in downstream configs
RH-Author: David Gibson <dgibson@redhat.com>

View File

@ -1,6 +1,6 @@
From 7fd82f454755e0c7c68faac76a156c9ddb322124 Mon Sep 17 00:00:00 2001
From 0de024660bb9c42ca87fd179b6a4122c3a9e0eb3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: redhat: fix 5.0 rebase missing ISA TPM TIS
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8

View File

@ -1,6 +1,6 @@
From 3be5878b68235837729f452f0940105505bf4a55 Mon Sep 17 00:00:00 2001
From 43a29be3b4f2186441067a2f5cd45d4e6035f206 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: redhat: define hw_compat_8_2
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
@ -8,6 +8,7 @@ Message-id: <20200619154227.23845-2-dgilbert@redhat.com>
Patchwork-id: 97662
O-Subject: [RHEL-AV 8.3.0 qemu-kvm PATCH 1/2] redhat: define hw_compat_8_2
Bugzilla: 1842902
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
@ -63,10 +64,10 @@ index ef6b320..b837399 100644
*/
GlobalProperty hw_compat_rhel_8_1[] = {
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 24c1348..26ac91d 100644
index c357731..f918a15 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -374,6 +374,9 @@ extern const size_t hw_compat_2_2_len;
@@ -375,6 +375,9 @@ extern const size_t hw_compat_2_2_len;
extern GlobalProperty hw_compat_2_1[];
extern const size_t hw_compat_2_1_len;

View File

@ -1,6 +1,6 @@
From 16e1749209e7df15f7ce12418886117c2259dee7 Mon Sep 17 00:00:00 2001
From 9fc44f5b2b271ea3337f8e5eae3bc3d2f9d857f3 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: x86: Add 8.3.0 x86_64 machine type
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
@ -8,6 +8,7 @@ Message-id: <20200619154227.23845-3-dgilbert@redhat.com>
Patchwork-id: 97663
O-Subject: [RHEL-AV 8.3.0 qemu-kvm PATCH 2/2] x86: Add 8.3.0 x86_64 machine type
Bugzilla: 1842902
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
@ -25,10 +26,10 @@ Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
4 files changed, 35 insertions(+)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index d17d6f8..aaf3ef4 100644
index fe37bde..94c857e 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -359,6 +359,12 @@ GlobalProperty pc_rhel_compat[] = {
@@ -360,6 +360,12 @@ GlobalProperty pc_rhel_compat[] = {
};
const size_t pc_rhel_compat_len = G_N_ELEMENTS(pc_rhel_compat);
@ -42,10 +43,10 @@ index d17d6f8..aaf3ef4 100644
GlobalProperty pc_rhel_8_1_compat[] = { };
const size_t pc_rhel_8_1_compat_len = G_N_ELEMENTS(pc_rhel_8_1_compat);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index b195f26..c951107 100644
index eeadd89..f14ddcb 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -1027,6 +1027,10 @@ static void pc_machine_rhel760_options(MachineClass *m)
@@ -1028,6 +1028,10 @@ static void pc_machine_rhel760_options(MachineClass *m)
m->smbus_no_migration_support = true;
pcmc->pvh_enabled = false;
pcmc->default_cpu_version = CPU_VERSION_LEGACY;
@ -57,10 +58,10 @@ index b195f26..c951107 100644
compat_props_add(m->compat_props, pc_rhel_8_1_compat, pc_rhel_8_1_compat_len);
compat_props_add(m->compat_props, hw_compat_rhel_8_0, hw_compat_rhel_8_0_len);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 6c49a50..ef0b6e3 100644
index 1cd4e15..b9e8dcb 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -589,6 +589,23 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
@@ -590,6 +590,23 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
compat_props_add(m->compat_props, pc_rhel_compat, pc_rhel_compat_len);
}
@ -84,7 +85,7 @@ index 6c49a50..ef0b6e3 100644
static void pc_q35_init_rhel820(MachineState *machine)
{
pc_q35_init(machine);
@@ -599,8 +616,13 @@ static void pc_q35_machine_rhel820_options(MachineClass *m)
@@ -600,8 +617,13 @@ static void pc_q35_machine_rhel820_options(MachineClass *m)
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
pc_q35_machine_rhel_options(m);
m->desc = "RHEL-8.2.0 PC (Q35 + ICH9, 2009)";

View File

@ -1,6 +1,6 @@
From b3f4822d380a046220749314c9a05cdb0d5d2718 Mon Sep 17 00:00:00 2001
From 2717baf34693fc9aa5fa7d1f2a5e8eb1677c1bc2 Mon Sep 17 00:00:00 2001
From: Gavin Shan <gshan@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: hw/arm: Changes to rhel820 machine
RH-Author: Gavin Shan <gshan@redhat.com>
@ -24,7 +24,7 @@ Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index abbc7d5..07c5c14 100644
index 5a45677..53f02e0 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2090,6 +2090,7 @@ static void virt_set_acpi(Object *obj, Visitor *v, const char *name,
@ -43,7 +43,7 @@ index abbc7d5..07c5c14 100644
static char *virt_get_gic_version(Object *obj, Error **errp)
{
@@ -2727,12 +2729,8 @@ static void rhel820_virt_instance_init(Object *obj)
@@ -2760,12 +2762,8 @@ static void rhel820_virt_instance_init(Object *obj)
object_property_set_description(obj, "highmem",
"Set on/off to enable/disable using "
"physical address space above 32 bits");
@ -58,7 +58,7 @@ index abbc7d5..07c5c14 100644
object_property_add_str(obj, "gic-version", virt_get_gic_version,
virt_set_gic_version);
object_property_set_description(obj, "gic-version",
@@ -2759,12 +2757,9 @@ static void rhel820_virt_instance_init(Object *obj)
@@ -2792,12 +2790,9 @@ static void rhel820_virt_instance_init(Object *obj)
object_property_set_description(obj, "iommu",
"Set the IOMMU type. "
"Valid values are none and smmuv3");

View File

@ -1,6 +1,6 @@
From 75c705bcd0e6adb903889dd031c6f867a1ca7a63 Mon Sep 17 00:00:00 2001
From 91449aaf4ad482d9208c8861f549f7fe58af02ac Mon Sep 17 00:00:00 2001
From: Gavin Shan <gshan@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: hw/arm: Introduce rhel_virt_instance_init() helper
RH-Author: Gavin Shan <gshan@redhat.com>
@ -21,10 +21,10 @@ Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 07c5c14..c1bc866 100644
index 53f02e0..f26ae9f 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2713,7 +2713,7 @@ static void rhel_machine_init(void)
@@ -2746,7 +2746,7 @@ static void rhel_machine_init(void)
}
type_init(rhel_machine_init);
@ -33,7 +33,7 @@ index 07c5c14..c1bc866 100644
{
VirtMachineState *vms = VIRT_MACHINE(obj);
VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms);
@@ -2764,6 +2764,11 @@ static void rhel820_virt_instance_init(Object *obj)
@@ -2797,6 +2797,11 @@ static void rhel820_virt_instance_init(Object *obj)
virt_flash_create(vms);
}

View File

@ -1,6 +1,6 @@
From c0c64a417f65d388526c62b2d82f29fc4f5aed76 Mon Sep 17 00:00:00 2001
From afad5b1cdd3d29cd497cb9987fca3009fa352d40 Mon Sep 17 00:00:00 2001
From: Gavin Shan <gshan@redhat.com>
Date: Wed, 1 Jul 2020 12:24:02 +0200
Date: Wed, 8 Jul 2020 10:02:25 +0200
Subject: hw/arm: Add rhel830 machine type
RH-Author: Gavin Shan <gshan@redhat.com>
@ -21,10 +21,10 @@ Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index c1bc866..48af222 100644
index f26ae9f..f1553f3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2764,6 +2764,17 @@ static void rhel_virt_instance_init(Object *obj)
@@ -2797,6 +2797,17 @@ static void rhel_virt_instance_init(Object *obj)
virt_flash_create(vms);
}
@ -42,7 +42,7 @@ index c1bc866..48af222 100644
static void rhel820_virt_instance_init(Object *obj)
{
rhel_virt_instance_init(obj);
@@ -2771,6 +2782,8 @@ static void rhel820_virt_instance_init(Object *obj)
@@ -2804,6 +2815,8 @@ static void rhel820_virt_instance_init(Object *obj)
static void rhel820_virt_options(MachineClass *mc)
{

View File

@ -0,0 +1,74 @@
From 3ccb92293ca895bc52907b36c8d2e8b6936ed975 Mon Sep 17 00:00:00 2001
From: Laurent Vivier <lvivier@redhat.com>
Date: Wed, 8 Jul 2020 10:04:09 +0200
Subject: redhat: define pseries-rhel8.3.0 machine type
RH-Author: Laurent Vivier <lvivier@redhat.com>
Message-id: <20200706104117.219174-3-lvivier@redhat.com>
Patchwork-id: 97904
O-Subject: [RHEL-AV-8.3.0 qemu-kvm PATCH v2 2/2] redhat: define pseries-rhel8.3.0 machine type
Bugzilla: 1853265
Note: rebase to qemu-5.1 introduces
32a354dc6c07 ("numa: forbid '-numa node, mem' for 5.1 and newer machine types")
and so '-numa node, mem' will not be available with pseries-rhel8.3.0
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/ppc/spapr.c | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index f30618e..dc1e9cb 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4990,15 +4990,41 @@ DEFINE_SPAPR_MACHINE(2_1, "2.1", false);
#endif
/*
+ * pseries-rhel8.3.0
+ * like pseries-5.1
+ */
+
+static void spapr_machine_rhel830_class_options(MachineClass *mc)
+{
+ /* Defaults for the latest behaviour inherited from the base class */
+}
+
+DEFINE_SPAPR_MACHINE(rhel830, "rhel8.3.0", true);
+
+/*
* pseries-rhel8.2.0
+ * like pseries-4.2 + pseries-5.0
+ * except SPAPR_CAP_CCF_ASSIST that has been backported to pseries-rhel8.1.0
*/
static void spapr_machine_rhel820_class_options(MachineClass *mc)
{
- /* Defaults for the latest behaviour inherited from the base class */
+ SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
+
+ spapr_machine_rhel830_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_2,
+ hw_compat_rhel_8_2_len);
+
+ /* from pseries-4.2 */
+ smc->default_caps.caps[SPAPR_CAP_FWNMI] = SPAPR_CAP_OFF;
+ smc->rma_limit = 16 * GiB;
+ mc->nvdimm_supported = false;
+
+ /* from pseries-5.0 */
+ mc->numa_mem_supported = true;
}
-DEFINE_SPAPR_MACHINE(rhel820, "rhel8.2.0", true);
+DEFINE_SPAPR_MACHINE(rhel820, "rhel8.2.0", false);
/*
* pseries-rhel8.1.0
--
1.8.3.1

View File

@ -68,7 +68,7 @@ Obsoletes: %1-rhev
Summary: QEMU is a machine emulator and virtualizer
Name: qemu-kvm
Version: 5.0.0
Release: 0%{?dist}.wrb200701
Release: 1%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 15
License: GPLv2 and GPLv2+ and CC-BY
@ -123,13 +123,15 @@ Patch0018: 0018-usb-xhci-Fix-PCI-capability-order.patch
Patch0019: 0019-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch
Patch0020: 0020-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch
Patch0021: 0021-block-Versioned-x-blockdev-reopen-API-with-feature-f.patch
Patch0023: 0023-RHEL-only-Enable-vTPM-for-POWER-in-downstream-config.patch
Patch0024: 0024-redhat-fix-5.0-rebase-missing-ISA-TPM-TIS.patch
Patch0025: 0025-redhat-define-hw_compat_8_2.patch
Patch0026: 0026-x86-Add-8.3.0-x86_64-machine-type.patch
Patch0027: 0027-hw-arm-Changes-to-rhel820-machine.patch
Patch0028: 0028-hw-arm-Introduce-rhel_virt_instance_init-helper.patch
Patch0029: 0029-hw-arm-Add-rhel830-machine-type.patch
Patch0022: 0022-virtio-net-fix-removal-of-failover-device.patch
Patch0024: 0024-RHEL-only-Enable-vTPM-for-POWER-in-downstream-config.patch
Patch0025: 0025-redhat-fix-5.0-rebase-missing-ISA-TPM-TIS.patch
Patch0026: 0026-redhat-define-hw_compat_8_2.patch
Patch0027: 0027-x86-Add-8.3.0-x86_64-machine-type.patch
Patch0028: 0028-hw-arm-Changes-to-rhel820-machine.patch
Patch0029: 0029-hw-arm-Introduce-rhel_virt_instance_init-helper.patch
Patch0030: 0030-hw-arm-Add-rhel830-machine-type.patch
Patch0031: 0031-redhat-define-pseries-rhel8.3.0-machine-type.patch
BuildRequires: wget
BuildRequires: rpm-build
@ -1081,6 +1083,19 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
%changelog
* Tue Jul 14 2020 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 5.0.0-1.el8
- This is an interational rebase, based on the weekly rebase.
- Altough not official yet, It contains fixes for the following BZs:
- Resolves: bz#1781911
- Resolves: bz#1841529
- Resolves: bz#1842902
- Resolves: bz#1818843
* Tue Jul 07 2020 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 4.2.0-29.el8
- kvm-virtio-net-fix-removal-of-failover-device.patch [bz#1820120]
- Resolves: bz#1820120
(After hotunplugging the vitrio device and netdev, hotunpluging the failover VF will cause qemu core dump)
* Sun Jun 28 2020 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 4.2.0-28.el8
- kvm-virtio-blk-Refactor-the-code-that-processes-queued-r.patch [bz#1812765]
- kvm-virtio-blk-On-restart-process-queued-requests-in-the.patch [bz#1812765]

View File

@ -1 +1 @@
SHA512 (qemu-5.0.0.tar.xz) = d39a728aac20baa56eaa02afb456cff0b220180682f922602428fd45b566e2fb9944142207cb56db68149110df79720137fe1f84d79c0b266b8b23c6eca909e3
SHA512 (qemu-5.0.0.tar.xz) = 2011fc15747d9d8effcf0af4e1e3af6440eaf801c27948a8bdf97d0cb33cf99ac380f828c1aee02e55e2c2c6c674150a264ce025c99642c8f974fda34be285cd