import qemu-kvm-6.2.0-5.module+el8.6.0+14025+ca131e0a

This commit is contained in:
CentOS Sources 2022-02-07 18:05:50 +00:00 committed by Stepan Oksanichenko
parent 8d8bcd27d3
commit 32fd672ace
43 changed files with 1404 additions and 920 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/qemu-6.1.0.tar.xz
SOURCES/qemu-6.2.0.tar.xz

View File

@ -1 +1 @@
aae5ef7761b5f2fc45f0076219f1249da86f94b5 SOURCES/qemu-6.1.0.tar.xz
68cd61a466170115b88817e2d52db2cd7a92f43a SOURCES/qemu-6.2.0.tar.xz

View File

@ -1,4 +1,4 @@
From 94b5698846611388888bc16f392a4a4e26f921df Mon Sep 17 00:00:00 2001
From 0a17d5f6abf800e88069738904e3fcd8427ab28a Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Thu, 5 Aug 2021 01:07:55 -0400
Subject: redhat: Adding slirp to the exploded tree
@ -64,8 +64,6 @@ Merged commits (weekly-210714):
- 76f81fc22c tftp: introduce a header structure
- 6903e9ba25 udp: check upd_input buffer size
- 8aa4fe0b6d Fix "DHCP broken in libslirp v4.6.0"
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
.gitmodules | 3 -
slirp/.clang-format | 58 ++
@ -17929,5 +17927,5 @@ index 0000000000..94c6a4bc7b
+
+#endif
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 19aac3bf72e5b3d0599da32452e72fc32be311d5 Mon Sep 17 00:00:00 2001
From 19ce5ff93ddd6b8a998348f2a5f59f603c5e11b7 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-6.0.0-28.el8
This rebase includes changes up to qemu-kvm-6.1.0-5.el9
Rebase notes (3.1.0):
- added new configure options
@ -89,64 +89,44 @@ Rebase notes (5.2.0 rc3):
- Added new configure options
- Update qemu-kiwi patches to v4
Rebase notes (weekly-210106):
Rebase notes (6.0.0):
- update tracetool usage in spec file
- remove qemu-storage-daemon-qmp-ref man page
Rebase notes (weekly-210113):
- remove qemu-storage-daemon man page
Rebase notes (weekly-210120):
- Added devel documentation
Rebase notes (weeky-210127):
- do not package virtfs-proxy-helper files
Rebase notes (weekly-210203):
- Use --with-git-submodules instead of --(enable|disable)-git-update
Rebase notes (weekly-210217):
- Minor build fixes for sending upstream
Rebase notes (6.0.0 rc0):
- g_autofree initialization fixed upstream
- Updated rc information usage
Rebase notes (6.0.0 rc1):
- do not package package hw-s390x-virtio-gpu-ccw.so
Rebase note (6.0.0 rc2):
- Disable new switch options
Rebase note (weekly-210505):
Rebase notes (6.1.0):
- Fix warning issue in block.c
Rebase note (weekly-210512):
- Download tarball from dist-git cache
Rebase note (weekly-210519):
- Removed sheepdog driver
- Added new display modules:
- hw-display-virtio-gpu-gl.so
- hw-display-virtio-gpu-pci-gl.so
- hw-display-virtio-vga-gl.so
Rebase note (weekly-210623):
- sasl fix moved from ui/vnc.c to ui/vnc-auth-sasl.c
Rebase note (weekly-210714):
- Added accel-qtest-%{kvm_target} and accel-tcg-%{kvm_target}
Rebase note (6.1.0-rc0):
- Added about docs
- Use -q option for setup
Rebase note (6.1.0-rc1):
- Added hw-usb-host.so
Rebase note (6.1.0-rc4):
- Disable new options (bpf, nvmm, slirp-smbd)
Rebase notes (6.2.0):
- Using internal meson
- removed --disable-jemalloc and --disable-tcmalloc configure options
- added audio-oss.so
- added fdt requirement for x86_64
- tests/acceptance renamed to tests/avocado
- added multiboot_dma.bin
- Removed conflict relics
- Updated configure options
Merged patches (3.1.0):
- 01f0c9f RHEL8: Add disable configure options to qemu spec file
- Spec file cleanups
@ -194,49 +174,37 @@ Merged patches (5.2.0 rc3):
- pjw 99887 - redhat: allow Makefile rh-prep builddep to fail
- pjw 99885 - redhat: adding rh-rpm target
Merged patches (weekly-210120):
Merged patches (6.0.0):
- 5ab9954a3b spec: find system python via meson
- cd0f7db11f build-system: use b_staticpic=false
- 80d2dec42c udev-kvm-check: remove the "exceeded subscription limit" message
Merged patches (weekly-210203):
- 38959d51c0 redhat: Allow make to inherit params from parent make for rh-local
Merged patches (weekly-210210):
- 1e0cfe458f redhat: moving all documentation files to qemu-kvm-docs
- d7a594d02b redhat: makes qemu respect system's crypto profile
Merged patches (weekly-210303):
- e2bbf1572b spec: Package qemu-storage-daemon
Merged patches (6.0.0 rc0):
- 92f10993ba spec: ui-spice sub-package
- 8931e46069 spec: ui-opengl sub-package
Merged patches (weekly-210616):
Merged patches (6.1.0):
- 7bb57541b3 redhat: Install the s390-netboot.img that we've built
Merged patches (weekly-210714):
- b4a8531f41 redhat: Fix "unversioned Obsoletes" warning
- 141a1693c7 redhat: Move qemu-kvm-docs dependency to qemu-kvm
- d75f59c6f9 redhat: introducting qemu-kvm-hw-usbredir
- a934d8bf44 redhat: use the standard vhost-user JSON path
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Merged patches (6.2.0):
- 4f3f04bbb6 spec: Remove qemu-kiwi build
---
.gitignore | 1 +
.gitlab-ci.yml | 24 -
.gitlab/issue_templates/bug.md | 64 -
.gitlab/issue_templates/feature_request.md | 32 -
README.systemtap | 43 +
configure | 5 -
hw/remote/memory.c | 5 +
hw/remote/proxy.c | 4 +
meson.build | 8 +-
meson.build | 4 +-
redhat/Makefile | 90 +
redhat/Makefile.common | 50 +
redhat/Makefile.common | 48 +
redhat/README.tests | 39 +
redhat/qemu-kvm.spec.template | 3977 ++++++++++++++++++++
redhat/qemu-kvm.spec.template | 3896 ++++++++++++++++++++
redhat/scripts/extract_build_cmd.py | 5 +-
redhat/scripts/process-patches.sh | 20 +-
redhat/scripts/tarball_checksum.sh | 2 +-
@ -246,7 +214,7 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
scripts/systemtap/script.d/qemu_kvm.stp | 1 +
tests/check-block.sh | 2 +
ui/vnc-auth-sasl.c | 2 +-
22 files changed, 4236 insertions(+), 163 deletions(-)
19 files changed, 4142 insertions(+), 156 deletions(-)
delete mode 100644 .gitlab-ci.yml
delete mode 100644 .gitlab/issue_templates/bug.md
delete mode 100644 .gitlab/issue_templates/feature_request.md
@ -307,77 +275,11 @@ index 0000000000..ad913fc990
+
+3. Translate the trace record to readable format.
+ # /usr/share/qemu-kvm/simpletrace.py --no-header /usr/share/qemu-kvm/trace-events /tmp/trace.log
diff --git a/configure b/configure
index 9a79a004d7..97a815d493 100755
--- a/configure
+++ b/configure
@@ -5166,10 +5166,6 @@ if test "$skip_meson" = no; then
mv $cross config-meson.cross
rm -rf meson-private meson-info meson-logs
- unset staticpic
- if ! version_ge "$($meson --version)" 0.56.0; then
- staticpic=$(if test "$pie" = yes; then echo true; else echo false; fi)
- fi
NINJA=$ninja $meson setup \
--prefix "$prefix" \
--libdir "$libdir" \
@@ -5189,7 +5185,6 @@ if test "$skip_meson" = no; then
-Dwerror=$(if test "$werror" = yes; then echo true; else echo false; fi) \
-Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
-Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
- ${staticpic:+-Db_staticpic=$staticpic} \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
-Db_lto=$lto -Dcfi=$cfi -Dcfi_debug=$cfi_debug \
-Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \
diff --git a/hw/remote/memory.c b/hw/remote/memory.c
index 6e21ab1a45..1188680ca0 100644
--- a/hw/remote/memory.c
+++ b/hw/remote/memory.c
@@ -41,8 +41,13 @@ void remote_sysmem_reconfig(MPQemuMsg *msg, Error **errp)
remote_sysmem_reset();
+<<<<<<< HEAD
for (region = 0; region < msg->num_fds; region++, suffix++) {
g_autofree char *name = g_strdup_printf("remote-mem-%u", suffix);
+=======
+ for (region = 0; region < msg->num_fds; region++) {
+ g_autofree char *name = NULL;
+>>>>>>> e0233e3bb3... Initial redhat build
subregion = g_new(MemoryRegion, 1);
memory_region_init_ram_from_fd(subregion, NULL,
name, sysmem_info->sizes[region],
diff --git a/hw/remote/proxy.c b/hw/remote/proxy.c
index 6dda705fc2..bb6636be7d 100644
--- a/hw/remote/proxy.c
+++ b/hw/remote/proxy.c
@@ -347,7 +347,11 @@ static void probe_pci_info(PCIDevice *dev, Error **errp)
PCI_BASE_ADDRESS_SPACE_IO : PCI_BASE_ADDRESS_SPACE_MEMORY;
if (size) {
+<<<<<<< HEAD
g_autofree char *name = g_strdup_printf("bar-region-%d", i);
+=======
+ g_autofree char *name = NULL;
+>>>>>>> e0233e3bb3... Initial redhat build
pdev->region[i].dev = pdev;
pdev->region[i].present = true;
if (type == PCI_BASE_ADDRESS_SPACE_MEMORY) {
diff --git a/meson.build b/meson.build
index b3e7ec0e92..f626ed9c14 100644
index 96de1a6ef9..5f6ba86dbb 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('qemu', ['c'], meson_version: '>=0.55.0',
- default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto'] +
- (meson.version().version_compare('>=0.56.0') ? [ 'b_staticpic=false' ] : []),
+ default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++11', 'b_colorout=auto',
+ 'b_staticpic=false' ],
version: run_command('head', meson.source_root() / 'VERSION').stdout().strip())
not_found = dependency('', required: false)
@@ -1790,7 +1790,9 @@ if capstone_opt == 'internal'
@@ -2108,7 +2108,9 @@ if capstone_opt == 'internal'
# Include all configuration defines via a header file, which will wind up
# as a dependency on the object file, and thus changes here will result
# in a rebuild.
@ -445,5 +347,5 @@ index 47fdae5b21..2a950caa2a 100644
if (saslErr != SASL_OK) {
error_setg(errp, "Failed to initialize SASL auth: %s",
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 570ba131d06fafd349b754357414fa322ac53c36 Mon Sep 17 00:00:00 2001
From 3d5a82d172345d17e300672909835262ff9dc917 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 2 Sep 2020 09:11:07 +0200
Subject: Enable/disable devices for RHEL
@ -81,6 +81,8 @@ Rebase notes (weekly-210714):
Rebase notes (6.1.0 rc2):
- Use --with-device-ARCH configure option to use redhat config files
Rebase notes (6.2.0 rc3):
- Do not remove -no-hpet documentation
Merged patches (qemu 3.1.0):
- d51e082 Re-enable CONFIG_HYPERV_TESTDEV
- 4b889f3 Declare cirrus-vga as deprecated
@ -122,8 +124,6 @@ Merged patches (weekly-210630):
Merged patches (6.1.0 rc2):
- 86f0025f16 aarch64: Add USB storage devices
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
.../aarch64-softmmu/aarch64-rh-devices.mak | 31 ++++++
.../ppc64-softmmu/ppc64-rh-devices.mak | 36 ++++++
@ -143,13 +143,12 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
hw/ppc/spapr_cpu_core.c | 2 +
hw/timer/hpet.c | 8 ++
hw/usb/meson.build | 2 +-
qemu-options.hx | 4 -
redhat/qemu-kvm.spec.template | 13 ++-
redhat/qemu-kvm.spec.template | 9 +-
target/arm/cpu_tcg.c | 10 ++
target/ppc/cpu-models.c | 10 ++
target/s390x/cpu_models_sysemu.c | 3 +
target/s390x/kvm/kvm.c | 8 ++
24 files changed, 289 insertions(+), 14 deletions(-)
23 files changed, 286 insertions(+), 9 deletions(-)
create mode 100644 configs/devices/aarch64-softmmu/aarch64-rh-devices.mak
create mode 100644 configs/devices/ppc64-softmmu/ppc64-rh-devices.mak
create mode 100644 configs/devices/rh-virtio.mak
@ -395,10 +394,10 @@ index 0000000000..2cd20f54d2
+# We need "hpet"
+CONFIG_HPET=y
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 778e27b659..802501881f 100644
index ebe08ed831..381ef2ddcf 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -424,8 +424,8 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm)
@@ -438,8 +438,8 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm)
static const uint32_t gpe0_len = ICH9_PMIO_GPE0_LEN;
pm->acpi_memory_hotplug.is_enabled = true;
pm->cpu_hotplug_legacy = true;
@ -408,7 +407,7 @@ index 778e27b659..802501881f 100644
+ pm->disable_s4 = 1;
pm->s4_val = 2;
pm->use_acpi_hotplug_bridge = true;
pm->keep_pci_slot_hpc = true;
diff --git a/hw/arm/meson.build b/hw/arm/meson.build
index 721a8eb8be..87ed4dd914 100644
--- a/hw/arm/meson.build
@ -423,7 +422,7 @@ index 721a8eb8be..87ed4dd914 100644
arm_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx.c', 'pxa2xx_gpio.c', 'pxa2xx_pic.c'))
arm_ss.add(when: 'CONFIG_DIGIC', if_true: files('digic.c'))
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 9014cd30b3..46cee8c544 100644
index 21d18ac2e3..97fa6de423 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -48,6 +48,8 @@
@ -435,7 +434,7 @@ index 9014cd30b3..46cee8c544 100644
/********************************************************/
/* debug Floppy devices */
@@ -2320,6 +2322,14 @@ void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl, Error **errp)
@@ -2337,6 +2339,14 @@ void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl, Error **errp)
FDrive *drive;
static int command_tables_inited = 0;
@ -506,7 +505,7 @@ index fdca6ca659..fa1a7eee51 100644
Also accept 8 MB/16 MB for backward compatibility. */
if (s->vga.vram_size_mb != 4 && s->vga.vram_size_mb != 8 &&
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index d3e738320b..7c77312463 100644
index ce89fd0aa3..fbcf802b13 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -232,7 +232,8 @@ static void piix3_ide_class_init(ObjectClass *klass, void *data)
@ -542,10 +541,10 @@ index baba62f357..bc360347ea 100644
static const TypeInfo i8042_info = {
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index a30546c5d5..c2877978d9 100644
index f5bc81296d..282d01e374 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -1814,6 +1814,7 @@ static const E1000Info e1000_devices[] = {
@@ -1821,6 +1821,7 @@ static const E1000Info e1000_devices[] = {
.revision = 0x03,
.phy_id2 = E1000_PHY_ID2_8254xx_DEFAULT,
},
@ -553,7 +552,7 @@ index a30546c5d5..c2877978d9 100644
{
.name = "e1000-82544gc",
.device_id = E1000_DEV_ID_82544GC_COPPER,
@@ -1826,6 +1827,7 @@ static const E1000Info e1000_devices[] = {
@@ -1833,6 +1834,7 @@ static const E1000Info e1000_devices[] = {
.revision = 0x03,
.phy_id2 = E1000_PHY_ID2_8254xx_DEFAULT,
},
@ -562,7 +561,7 @@ index a30546c5d5..c2877978d9 100644
static void e1000_register_types(void)
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 4f316a6f9d..64178f0f9a 100644
index 58e7341cb7..8ba34f6a1d 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -370,10 +370,12 @@ static const TypeInfo spapr_cpu_core_type_infos[] = {
@ -610,23 +609,8 @@ index de853d780d..0776ae6a20 100644
hw_usb_modules += {'smartcard': usbsmartcard_ss}
endif
diff --git a/qemu-options.hx b/qemu-options.hx
index 83aa59a920..ac596e01a1 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -2412,10 +2412,6 @@ ERST
DEF("no-hpet", 0, QEMU_OPTION_no_hpet,
"-no-hpet disable HPET\n", QEMU_ARCH_I386)
-SRST
-``-no-hpet``
- Disable HPET support.
-ERST
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/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c
index ed444bf436..fafd019539 100644
index 13d0e9b195..3826fa5122 100644
--- a/target/arm/cpu_tcg.c
+++ b/target/arm/cpu_tcg.c
@@ -22,6 +22,7 @@
@ -634,7 +618,7 @@ index ed444bf436..fafd019539 100644
#if !defined(CONFIG_USER_ONLY) || !defined(TARGET_AARCH64)
+#if 0 /* Disabled for Red Hat Enterprise Linux */
#ifdef CONFIG_TCG
#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_TCG)
static bool arm_v7m_cpu_exec_interrupt(CPUState *cs, int interrupt_request)
{
@@ -375,6 +376,7 @@ static void cortex_a9_initfn(Object *obj)
@ -704,7 +688,7 @@ index ed444bf436..fafd019539 100644
{ .name = "max", .initfn = arm_max_initfn },
#endif
diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c
index 87e4228614..6eaa65efff 100644
index 4baa111713..d779c4d1d5 100644
--- a/target/ppc/cpu-models.c
+++ b/target/ppc/cpu-models.c
@@ -66,6 +66,7 @@
@ -734,7 +718,7 @@ index 87e4228614..6eaa65efff 100644
POWERPC_DEF("power7_v2.3", CPU_POWERPC_POWER7_v23, POWER7,
"POWER7 v2.3")
POWERPC_DEF("power7+_v2.1", CPU_POWERPC_POWER7P_v21, POWER7,
@@ -782,6 +786,7 @@
@@ -784,6 +788,7 @@
/* PowerPC CPU aliases */
PowerPCCPUAlias ppc_cpu_aliases[] = {
@ -742,7 +726,7 @@ index 87e4228614..6eaa65efff 100644
{ "403", "403gc" },
{ "405", "405d4" },
{ "405cr", "405crc" },
@@ -940,12 +945,15 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
@@ -942,12 +947,15 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
{ "7447a", "7447a_v1.2" },
{ "7457a", "7457a_v1.2" },
{ "apollo7pm", "7457a_v1.0" },
@ -758,15 +742,15 @@ index 87e4228614..6eaa65efff 100644
{ "power7", "power7_v2.3" },
{ "power7+", "power7+_v2.1" },
{ "power8e", "power8e_v2.1" },
@@ -955,6 +963,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
{ "power10", "power10_v1.0" },
@@ -957,6 +965,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
{ "power10", "power10_v2.0" },
#endif
+#if 0 /* Disabled for Red Hat Enterprise Linux */
/* Generic PowerPCs */
#if defined(TARGET_PPC64)
{ "ppc64", "970fx_v3.1" },
@@ -962,5 +971,6 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
@@ -964,5 +973,6 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
{ "ppc32", "604" },
{ "ppc", "604" },
{ "default", "604" },
@ -807,5 +791,5 @@ index 5b1fdb55c4..c52434985b 100644
prop.ibc = s390_ibc_from_cpu_model(model);
/* configure cpu features indicated via STFL(e) */
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 4ff7102cb75e8501c6657ccef0f7009e1c18cb5f Mon Sep 17 00:00:00 2001
From adca046d9db670637b9bf2b24f7a4349a9fe2628 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
@ -23,6 +23,9 @@ Rebase changes (4.1.0):
Rebase changes (weekly-210303):
- Added rhel 8.4.0 compat based on 5.2 compat
Rebase changes (weekly-211103):
- Do not duplicate minimal_version_id for piix4_pm
Merged patches (4.0.0):
- d4c0957 compat: Generic HW_COMPAT_RHEL7_6
- cbac773 virtio: Make disable-legacy/disable-modern compat properties optional
@ -55,20 +58,21 @@ Merged patches (6.0.0):
Merged patches (weekly-210602):
- 26f25108c1 redhat: add missing entries in hw_compat_rhel_8_4
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Merged patches (weekly-211006):
- 43c4b9bea6 redhat: Define hw_compat_rhel_8_5
---
hw/acpi/ich9.c | 15 +++
hw/acpi/piix4.c | 5 +-
hw/acpi/ich9.c | 15 ++
hw/acpi/piix4.c | 6 +-
hw/arm/virt.c | 2 +-
hw/char/serial.c | 16 +++
hw/core/machine.c | 255 +++++++++++++++++++++++++++++++++++
hw/core/machine.c | 272 +++++++++++++++++++++++++++++++++++
hw/display/vga-isa.c | 2 +-
hw/i386/pc_piix.c | 2 +
hw/i386/pc_q35.c | 2 +
hw/net/e1000e.c | 22 +++
hw/net/rtl8139.c | 4 +-
hw/rtc/mc146818rtc.c | 6 +
hw/smbios/smbios.c | 46 ++++++-
hw/smbios/smbios.c | 46 +++++-
hw/timer/i8254_common.c | 2 +-
hw/usb/hcd-uhci.c | 4 +-
hw/usb/hcd-xhci-pci.c | 59 ++++++--
@ -76,20 +80,20 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
hw/usb/hcd-xhci.c | 20 +++
hw/usb/hcd-xhci.h | 2 +
include/hw/acpi/ich9.h | 3 +
include/hw/boards.h | 33 +++++
include/hw/boards.h | 36 +++++
include/hw/firmware/smbios.h | 5 +-
include/hw/i386/pc.h | 3 +
include/hw/usb.h | 3 +
migration/migration.c | 2 +
migration/migration.h | 5 +
25 files changed, 494 insertions(+), 25 deletions(-)
25 files changed, 514 insertions(+), 26 deletions(-)
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 802501881f..147b5d9815 100644
index 381ef2ddcf..82bd805b55 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -419,6 +419,18 @@ static void ich9_pm_set_acpi_pci_hotplug(Object *obj, bool value, Error **errp)
s->pm.use_acpi_hotplug_bridge = value;
@@ -433,6 +433,18 @@ static void ich9_pm_set_keep_pci_slot_hpc(Object *obj, bool value, Error **errp)
s->pm.keep_pci_slot_hpc = value;
}
+static bool ich9_pm_get_force_rev1_fadt(Object *obj, Error **errp)
@ -107,7 +111,7 @@ index 802501881f..147b5d9815 100644
void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm)
{
static const uint32_t gpe0_len = ICH9_PMIO_GPE0_LEN;
@@ -442,6 +454,9 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm)
@@ -457,6 +469,9 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs *pm)
object_property_add_bool(obj, "cpu-hotplug-legacy",
ich9_pm_get_cpu_hotplug_legacy,
ich9_pm_set_cpu_hotplug_legacy);
@ -118,18 +122,19 @@ index 802501881f..147b5d9815 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 48f7a1edbc..af21cb4ac3 100644
index f0b5fac44a..8d6011c0a3 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -279,6 +279,7 @@ static const VMStateDescription vmstate_acpi = {
@@ -278,7 +278,7 @@ static bool piix4_vmstate_need_smbus(void *opaque, int version_id)
static const VMStateDescription vmstate_acpi = {
.name = "piix4_pm",
.version_id = 3,
.minimum_version_id = 3,
- .minimum_version_id = 3,
+ .minimum_version_id = 2,
.post_load = vmstate_acpi_post_load,
.fields = (VMStateField[]) {
VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
@@ -644,8 +645,8 @@ static void piix4_send_gpe(AcpiDeviceIf *adev, AcpiEventStatusBits ev)
@@ -644,8 +644,8 @@ static void piix4_send_gpe(AcpiDeviceIf *adev, AcpiEventStatusBits ev)
static Property piix4_pm_properties[] = {
DEFINE_PROP_UINT32("smb_io_base", PIIX4PMState, smb_io_base, 0),
@ -138,13 +143,13 @@ index 48f7a1edbc..af21cb4ac3 100644
+ DEFINE_PROP_UINT8(ACPI_PM_PROP_S3_DISABLED, PIIX4PMState, disable_s3, 1),
+ DEFINE_PROP_UINT8(ACPI_PM_PROP_S4_DISABLED, PIIX4PMState, disable_s4, 1),
DEFINE_PROP_UINT8(ACPI_PM_PROP_S4_VAL, PIIX4PMState, s4_val, 2),
DEFINE_PROP_BOOL("acpi-pci-hotplug-with-bridge-support", PIIX4PMState,
DEFINE_PROP_BOOL(ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, PIIX4PMState,
use_acpi_hotplug_bridge, true),
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 81eda46b0b..cd1a2d985d 100644
index 30da05dfe0..5de4d9d73b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1524,7 +1524,7 @@ static void virt_build_smbios(VirtMachineState *vms)
@@ -1590,7 +1590,7 @@ static void virt_build_smbios(VirtMachineState *vms)
smbios_set_defaults("QEMU", product,
vmc->smbios_old_sys_ver ? "1.0" : mc->name, false,
@ -209,13 +214,30 @@ index 7061aacbce..fe8d0afbb0 100644
}
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 54e040587d..c7ddca1778 100644
index 53a99abc56..be4f9864cd 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -37,6 +37,261 @@
@@ -37,6 +37,278 @@
#include "hw/virtio/virtio.h"
#include "hw/virtio/virtio-pci.h"
+/*
+ * Mostly the same as hw_compat_6_0
+ */
+GlobalProperty hw_compat_rhel_8_5[] = {
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "gpex-pcihost", "allow-unmapped-accesses", "false" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "i8042", "extended-state", "false"},
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "nvme-ns", "eui64-default", "off"},
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "e1000", "init-vet", "off" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "e1000e", "init-vet", "off" },
+};
+const size_t hw_compat_rhel_8_5_len = G_N_ELEMENTS(hw_compat_rhel_8_5);
+
+/*
+ * Mostly the same as hw_compat_5_2
+ */
@ -471,9 +493,9 @@ index 54e040587d..c7ddca1778 100644
+};
+const size_t hw_compat_rhel_7_1_len = G_N_ELEMENTS(hw_compat_rhel_7_1);
+
GlobalProperty hw_compat_6_0[] = {
{ "gpex-pcihost", "allow-unmapped-accesses", "false" },
{ "i8042", "extended-state", "false"},
GlobalProperty hw_compat_6_1[] = {
{ "vhost-user-vsock-device", "seqpacket", "off" },
{ "nvme-ns", "shared", "off" },
diff --git a/hw/display/vga-isa.c b/hw/display/vga-isa.c
index 90851e730b..a91c5d7467 100644
--- a/hw/display/vga-isa.c
@ -488,7 +510,7 @@ index 90851e730b..a91c5d7467 100644
};
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 30b8bd6ea9..eebb4f3141 100644
index 223dd3e05d..dda3f64f19 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -177,6 +177,8 @@ static void pc_init1(MachineState *machine,
@ -501,10 +523,10 @@ index 30b8bd6ea9..eebb4f3141 100644
}
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 04b4a4788d..e7724fd02c 100644
index e1e100316d..235054a643 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -199,6 +199,8 @@ static void pc_q35_init(MachineState *machine)
@@ -200,6 +200,8 @@ static void pc_q35_init(MachineState *machine)
smbios_set_defaults("QEMU", "Standard PC (Q35 + ICH9, 2009)",
mc->name, pcmc->smbios_legacy_mode,
pcmc->smbios_uuid_encoded,
@ -731,10 +753,10 @@ index 050875b497..32935da46c 100644
vmstate_pit_channel, PITChannelState),
VMSTATE_INT64(channels[0].next_transition_time,
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index 0cb02a6432..962a9622e5 100644
index d1b5657d72..7930b868fa 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -1167,12 +1167,14 @@ void usb_uhci_common_realize(PCIDevice *dev, Error **errp)
@@ -1166,11 +1166,13 @@ void usb_uhci_common_realize(PCIDevice *dev, Error **errp)
UHCIState *s = UHCI(dev);
uint8_t *pci_conf = s->dev.config;
int i;
@ -742,14 +764,13 @@ index 0cb02a6432..962a9622e5 100644
pci_conf[PCI_CLASS_PROG] = 0x00;
/* TODO: reset value should be 0. */
pci_conf[USB_SBRN] = USB_RELEASE_1; // release number
pci_conf[USB_SBRN] = USB_RELEASE_1; /* release number */
- pci_config_set_interrupt_pin(pci_conf, u->info.irq_pin + 1);
+ irq_pin = u->info.irq_pin;
+ pci_config_set_interrupt_pin(pci_conf, irq_pin + 1);
s->irq = pci_allocate_irq(dev);
if (s->masterbus) {
USBPort *ports[NB_PORTS];
diff --git a/hw/usb/hcd-xhci-pci.c b/hw/usb/hcd-xhci-pci.c
index e934b1a5b1..e18b05e528 100644
--- a/hw/usb/hcd-xhci-pci.c
@ -916,10 +937,10 @@ index 98f598382a..50a7b6f6c4 100644
typedef struct XHCIInterrupter {
diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h
index a329ce43ab..6aa02f2d8f 100644
index 7ca92843c6..21abfd8447 100644
--- a/include/hw/acpi/ich9.h
+++ b/include/hw/acpi/ich9.h
@@ -67,6 +67,9 @@ typedef struct ICH9LPCPMRegs {
@@ -68,6 +68,9 @@ typedef struct ICH9LPCPMRegs {
bool smm_compat;
bool enable_tco;
TCOIORegs tco_regs;
@ -930,13 +951,16 @@ index a329ce43ab..6aa02f2d8f 100644
#define ACPI_PM_PROP_TCO_ENABLED "enable_tco"
diff --git a/include/hw/boards.h b/include/hw/boards.h
index accd6eff35..ff4674474f 100644
index 9c1c190104..8bba96ef2b 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -416,4 +416,37 @@ extern const size_t hw_compat_2_2_len;
@@ -441,4 +441,40 @@ extern const size_t hw_compat_2_2_len;
extern GlobalProperty hw_compat_2_1[];
extern const size_t hw_compat_2_1_len;
+extern GlobalProperty hw_compat_rhel_8_5[];
+extern const size_t hw_compat_rhel_8_5_len;
+
+extern GlobalProperty hw_compat_rhel_8_4[];
+extern const size_t hw_compat_rhel_8_4_len;
+
@ -988,7 +1012,7 @@ index 5a0dd0c8cf..2cb1ec2bab 100644
void smbios_get_tables(MachineState *ms,
const struct smbios_phys_mem_area *mem_array,
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 88dffe7517..17ad7bfc3a 100644
index 9ab39e428f..7ccc9a1a07 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -107,6 +107,9 @@ struct PCMachineClass {
@ -1014,7 +1038,7 @@ index 33668dd0a9..e6b2fe72da 100644
+
#endif
diff --git a/migration/migration.c b/migration/migration.c
index 041b8451a6..dc5f2df00a 100644
index abaf6f9e3d..a87ff01b81 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -164,6 +164,8 @@ INITIALIZE_MIGRATE_CAPS_SET(check_caps_background_snapshot,
@ -1027,7 +1051,7 @@ index 041b8451a6..dc5f2df00a 100644
migrations at once. For now we don't need to add
dynamic creation of migration */
diff --git a/migration/migration.h b/migration/migration.h
index 7a5aa8c2fd..e06778f3a4 100644
index 8130b703eb..d016cedd9d 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -381,6 +381,11 @@ bool check_dirty_bitmap_mig_alias_map(const BitmapMigrationNodeAliasList *bbm,
@ -1043,5 +1067,5 @@ index 7a5aa8c2fd..e06778f3a4 100644
#define qemu_ram_foreach_block \
#warning "Use foreach_not_ignored_block in migration code"
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 2e90ba946088b23ff8fdc8067e6ba8c3cc463679 Mon Sep 17 00:00:00 2001
From 670e90f5cbd92189155e079b8c6e2aafdf82d162 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
@ -74,18 +74,19 @@ Merged patches (weekly-210609):
- 5333038d11 hw/arm/virt: Disable PL011 clock migration through hw_compat_rhel_8_3
- 63adb8ae86 arm/virt: Register highmem and gic-version as class properties
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Merged patches (weekly-211027):
- 86e3057c0a hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type
---
hw/arm/virt.c | 225 +++++++++++++++++++++++++++++++++++++++++-
hw/arm/virt.c | 226 +++++++++++++++++++++++++++++++++++++++++-
hw/core/machine.c | 2 +
include/hw/arm/virt.h | 8 ++
3 files changed, 234 insertions(+), 1 deletion(-)
3 files changed, 235 insertions(+), 1 deletion(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index cd1a2d985d..07f9e64b23 100644
index 5de4d9d73b..c77d26ab13 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -78,6 +78,7 @@
@@ -79,6 +79,7 @@
#include "hw/char/pl011.h"
#include "qemu/guest-random.h"
@ -93,7 +94,7 @@ index cd1a2d985d..07f9e64b23 100644
#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
void *data) \
@@ -104,7 +105,48 @@
@@ -105,7 +106,48 @@
DEFINE_VIRT_MACHINE_LATEST(major, minor, true)
#define DEFINE_VIRT_MACHINE(major, minor) \
DEFINE_VIRT_MACHINE_LATEST(major, minor, false)
@ -143,7 +144,7 @@ index cd1a2d985d..07f9e64b23 100644
/* Number of external interrupt lines to configure the GIC with */
#define NUM_IRQS 256
@@ -2117,6 +2159,7 @@ static void machvirt_init(MachineState *machine)
@@ -2180,6 +2222,7 @@ static void machvirt_init(MachineState *machine)
qemu_add_machine_init_done_notifier(&vms->machine_done);
}
@ -151,7 +152,7 @@ index cd1a2d985d..07f9e64b23 100644
static bool virt_get_secure(Object *obj, Error **errp)
{
VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2144,6 +2187,7 @@ static void virt_set_virt(Object *obj, bool value, Error **errp)
@@ -2207,6 +2250,7 @@ static void virt_set_virt(Object *obj, bool value, Error **errp)
vms->virt = value;
}
@ -159,7 +160,7 @@ index cd1a2d985d..07f9e64b23 100644
static bool virt_get_highmem(Object *obj, Error **errp)
{
@@ -2241,6 +2285,7 @@ static void virt_set_acpi(Object *obj, Visitor *v, const char *name,
@@ -2304,6 +2348,7 @@ static void virt_set_acpi(Object *obj, Visitor *v, const char *name,
visit_type_OnOffAuto(v, name, &vms->acpi, errp);
}
@ -167,7 +168,7 @@ index cd1a2d985d..07f9e64b23 100644
static bool virt_get_ras(Object *obj, Error **errp)
{
VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2268,6 +2313,7 @@ static void virt_set_mte(Object *obj, bool value, Error **errp)
@@ -2331,6 +2376,7 @@ static void virt_set_mte(Object *obj, bool value, Error **errp)
vms->mte = value;
}
@ -175,7 +176,7 @@ index cd1a2d985d..07f9e64b23 100644
static char *virt_get_gic_version(Object *obj, Error **errp)
{
@@ -2603,6 +2649,7 @@ static int virt_kvm_type(MachineState *ms, const char *type_str)
@@ -2666,6 +2712,7 @@ static int virt_kvm_type(MachineState *ms, const char *type_str)
return fixed_ipa ? 0 : requested_pa_size;
}
@ -183,7 +184,7 @@ index cd1a2d985d..07f9e64b23 100644
static void virt_machine_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
@@ -2948,3 +2995,179 @@ static void virt_machine_2_6_options(MachineClass *mc)
@@ -3031,3 +3078,180 @@ static void virt_machine_2_6_options(MachineClass *mc)
vmc->no_pmu = true;
}
DEFINE_VIRT_MACHINE(2, 6)
@ -335,6 +336,7 @@ index cd1a2d985d..07f9e64b23 100644
+static void rhel850_virt_options(MachineClass *mc)
+{
+ compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
+}
+DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0)
+
@ -364,10 +366,10 @@ index cd1a2d985d..07f9e64b23 100644
+}
+DEFINE_RHEL_MACHINE(8, 2, 0)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index c7ddca1778..4601281b9c 100644
index be4f9864cd..62febde5aa 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -70,6 +70,8 @@ GlobalProperty hw_compat_rhel_8_3[] = {
@@ -87,6 +87,8 @@ GlobalProperty hw_compat_rhel_8_3[] = {
{ "nvme", "use-intel-id", "on"},
/* hw_compat_rhel_8_3 from hw_compat_5_1 */
{ "pvpanic", "events", "1"}, /* PVPANIC_PANICKED */
@ -377,10 +379,10 @@ index c7ddca1778..4601281b9c 100644
{ "pci-xhci", "x-rh-late-msi-cap", "off" },
/* hw_compat_rhel_8_3 from hw_compat_5_1 */
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 9661c46699..ac21ca712a 100644
index dc6b66ffc8..9364628847 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -171,9 +171,17 @@ struct VirtMachineState {
@@ -175,9 +175,17 @@ struct VirtMachineState {
#define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM)
@ -399,5 +401,5 @@ index 9661c46699..ac21ca712a 100644
bool virt_is_acpi_enabled(VirtMachineState *vms);
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 4f1bb8496cbd7b1dd40a97762f4d1d2ddfcc3968 Mon Sep 17 00:00:00 2001
From 3c65320ce5b8ad3bb8c0d8fd13a88c464d5c5845 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
@ -50,22 +50,23 @@ Merged patches (weekly-201216):
Merged patches (weekly-210602):
- b7128d8ef7 redhat: Define pseries-rhel8.5.0 machine type
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Merged patches (weekly-211006):
- c8f68b47e9 redhat: Update pseries-rhel8.5.0
---
hw/ppc/spapr.c | 380 ++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr.c | 382 ++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr_cpu_core.c | 13 ++
include/hw/ppc/spapr.h | 4 +
target/ppc/compat.c | 13 +-
target/ppc/cpu.h | 1 +
target/ppc/kvm.c | 27 +++
target/ppc/kvm_ppc.h | 13 ++
7 files changed, 450 insertions(+), 1 deletion(-)
7 files changed, 452 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 81699d4f8b..8f6bc88aa9 100644
index 3b5fd749be..cace86028d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1592,6 +1592,9 @@ static void spapr_machine_reset(MachineState *machine)
@@ -1593,6 +1593,9 @@ static void spapr_machine_reset(MachineState *machine)
pef_kvm_reset(machine->cgs, &error_fatal);
spapr_caps_apply(spapr);
@ -75,7 +76,7 @@ index 81699d4f8b..8f6bc88aa9 100644
first_ppc_cpu = POWERPC_CPU(first_cpu);
if (kvm_enabled() && kvmppc_has_cap_mmu_radix() &&
@@ -3315,6 +3318,20 @@ static void spapr_set_host_serial(Object *obj, const char *value, Error **errp)
@@ -3288,6 +3291,20 @@ static void spapr_set_host_serial(Object *obj, const char *value, Error **errp)
spapr->host_serial = g_strdup(value);
}
@ -96,7 +97,7 @@ index 81699d4f8b..8f6bc88aa9 100644
static void spapr_instance_init(Object *obj)
{
SpaprMachineState *spapr = SPAPR_MACHINE(obj);
@@ -3393,6 +3410,12 @@ static void spapr_instance_init(Object *obj)
@@ -3366,6 +3383,12 @@ static void spapr_instance_init(Object *obj)
spapr_get_host_serial, spapr_set_host_serial);
object_property_set_description(obj, "host-serial",
"Host serial number to advertise in guest device tree");
@ -109,7 +110,7 @@ index 81699d4f8b..8f6bc88aa9 100644
}
static void spapr_machine_finalizefn(Object *obj)
@@ -4634,6 +4657,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data)
@@ -4614,6 +4637,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data)
vmc->client_architecture_support = spapr_vof_client_architecture_support;
vmc->quiesce = spapr_vof_quiesce;
vmc->setprop = spapr_vof_setprop;
@ -117,15 +118,15 @@ index 81699d4f8b..8f6bc88aa9 100644
}
static const TypeInfo spapr_machine_info = {
@@ -4685,6 +4709,7 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
@@ -4665,6 +4689,7 @@ static void spapr_machine_latest_class_options(MachineClass *mc)
} \
type_init(spapr_machine_register_##suffix)
+#if 0 /* Disabled for Red Hat Enterprise Linux */
/*
* pseries-6.1
* pseries-6.2
*/
@@ -4786,6 +4811,7 @@ static void spapr_machine_4_1_class_options(MachineClass *mc)
@@ -4781,6 +4806,7 @@ static void spapr_machine_4_1_class_options(MachineClass *mc)
}
DEFINE_SPAPR_MACHINE(4_1, "4.1", false);
@ -133,7 +134,7 @@ index 81699d4f8b..8f6bc88aa9 100644
/*
* pseries-4.0
@@ -4805,6 +4831,8 @@ static bool phb_placement_4_0(SpaprMachineState *spapr, uint32_t index,
@@ -4800,6 +4826,8 @@ static bool phb_placement_4_0(SpaprMachineState *spapr, uint32_t index,
*nv2atsd = 0;
return true;
}
@ -142,7 +143,7 @@ index 81699d4f8b..8f6bc88aa9 100644
static void spapr_machine_4_0_class_options(MachineClass *mc)
{
SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -4963,6 +4991,7 @@ DEFINE_SPAPR_MACHINE(2_8, "2.8", false);
@@ -4958,6 +4986,7 @@ DEFINE_SPAPR_MACHINE(2_8, "2.8", false);
/*
* pseries-2.7
*/
@ -150,7 +151,7 @@ index 81699d4f8b..8f6bc88aa9 100644
static bool phb_placement_2_7(SpaprMachineState *spapr, uint32_t index,
uint64_t *buid, hwaddr *pio,
@@ -5018,6 +5047,7 @@ static bool phb_placement_2_7(SpaprMachineState *spapr, uint32_t index,
@@ -5013,6 +5042,7 @@ static bool phb_placement_2_7(SpaprMachineState *spapr, uint32_t index,
return true;
}
@ -158,7 +159,7 @@ index 81699d4f8b..8f6bc88aa9 100644
static void spapr_machine_2_7_class_options(MachineClass *mc)
{
SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
@@ -5132,6 +5162,356 @@ static void spapr_machine_2_1_class_options(MachineClass *mc)
@@ -5127,6 +5157,358 @@ static void spapr_machine_2_1_class_options(MachineClass *mc)
compat_props_add(mc->compat_props, hw_compat_2_1, hw_compat_2_1_len);
}
DEFINE_SPAPR_MACHINE(2_1, "2.1", false);
@ -184,6 +185,8 @@ index 81699d4f8b..8f6bc88aa9 100644
+{
+ /* The default machine type must apply the RHEL specific defaults */
+ spapr_machine_rhel_default_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5,
+ hw_compat_rhel_8_5_len);
+}
+
+DEFINE_SPAPR_MACHINE(rhel850, "rhel8.5.0", true);
@ -516,7 +519,7 @@ index 81699d4f8b..8f6bc88aa9 100644
static void spapr_machine_register_types(void)
{
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 64178f0f9a..2bff13a6ab 100644
index 8ba34f6a1d..78eca1c04a 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -24,6 +24,7 @@
@ -554,18 +557,18 @@ index 64178f0f9a..2bff13a6ab 100644
qdev_unrealize(DEVICE(cpu));
return false;
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 637652ad16..58b0deeb16 100644
index ee7504b976..37a014d59c 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -146,6 +146,7 @@ struct SpaprMachineClass {
bool pre_5_1_assoc_refpoints;
@@ -154,6 +154,7 @@ struct SpaprMachineClass {
bool pre_5_2_numa_associativity;
bool pre_6_2_numa_affinity;
+ bool has_power9_support;
bool (*phb_placement)(SpaprMachineState *spapr, uint32_t index,
uint64_t *buid, hwaddr *pio,
hwaddr *mmio32, hwaddr *mmio64,
@@ -229,6 +230,9 @@ struct SpaprMachineState {
@@ -237,6 +238,9 @@ struct SpaprMachineState {
/* Set by -boot */
char *boot_device;
@ -601,10 +604,10 @@ index 7949a24f5a..f207a9ba01 100644
const CompatInfo *compat = compat_by_pvr(compat_pvr);
const CompatInfo *min = compat_by_pvr(min_compat_pvr);
diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
index 93d308ac8f..dca9bdf846 100644
index e946da5f3a..23e8b76c85 100644
--- a/target/ppc/cpu.h
+++ b/target/ppc/cpu.h
@@ -1378,6 +1378,7 @@ static inline int cpu_mmu_index(CPUPPCState *env, bool ifetch)
@@ -1401,6 +1401,7 @@ static inline int cpu_mmu_index(CPUPPCState *env, bool ifetch)
/* Compatibility modes */
#if defined(TARGET_PPC64)
@ -707,5 +710,5 @@ index ee9325bf9a..20dbb95989 100644
{
return -1;
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 5116185549e3e5af307a4c7ee43005207809ab60 Mon Sep 17 00:00:00 2001
From 4ad9a0d0582eef78946b47563eb2c5b7ddf0cbb0 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
@ -30,13 +30,14 @@ Merged patches (weekly-201216):
Merged patches (weekly-210602):
- 50835d3429 redhat: s390x: add rhel-8.5.0 compat machine
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Merged patches (weekly-211006):
- a3bcde27fe redhat: Add s390x machine type compatibility update for 6.1 rebase
---
hw/s390x/s390-virtio-ccw.c | 98 +++++++++++++++++++++++++++++++++++++-
1 file changed, 97 insertions(+), 1 deletion(-)
hw/s390x/s390-virtio-ccw.c | 99 +++++++++++++++++++++++++++++++++++++-
1 file changed, 98 insertions(+), 1 deletion(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index e4b18aef49..18effb8f7a 100644
index 653587ea62..181856e6cf 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -767,7 +767,7 @@ bool css_migration_enabled(void)
@ -53,10 +54,10 @@ index e4b18aef49..18effb8f7a 100644
type_init(ccw_machine_register_##suffix)
+#if 0 /* Disabled for Red Hat Enterprise Linux */
static void ccw_machine_6_1_instance_options(MachineState *machine)
static void ccw_machine_6_2_instance_options(MachineState *machine)
{
}
@@ -1082,6 +1083,101 @@ static void ccw_machine_2_4_class_options(MachineClass *mc)
@@ -1100,6 +1101,102 @@ 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);
@ -68,6 +69,7 @@ index e4b18aef49..18effb8f7a 100644
+
+static void ccw_machine_rhel850_class_options(MachineClass *mc)
+{
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
+}
+DEFINE_CCW_MACHINE(rhel850, "rhel8.5.0", true);
+
@ -159,5 +161,5 @@ index e4b18aef49..18effb8f7a 100644
static void ccw_machine_register_types(void)
{
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From f2faba4ee51c71e79d9601ef7afb2ff0f14b1a5b Mon Sep 17 00:00:00 2001
From c2b3564ce466bc5069bf9f5b0694025c68b0858d 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
@ -25,6 +25,9 @@ Rebase notes (weekly-210303):
Rebase notes (weekly-210519):
- kvm_default_props moved to new file (upstream)
Rebase notes (6.2.0-rc0):
- linuxboot_dma_enabled moved to X86MachineState
Merged patches (4.1.0):
- f4dc802 pc: 7.5 compat entries
- 456ed3e pc: PC_RHEL7_6_COMPAT
@ -77,25 +80,25 @@ Merged patches (weekly-210714):
- c4d1aa8bf2 redhat: Enable FDC device for upstream machines too
- 66882f9a32 redhat: Add hw_compat_4_2_extra and apply to upstream machines
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Fix machine type
---
hw/block/fdc.c | 5 +-
hw/i386/acpi-build.c | 3 +
hw/i386/pc.c | 298 ++++++++++++++++++++++++++++++++++++-
hw/i386/pc_piix.c | 272 ++++++++++++++++++++++++++++++++-
hw/i386/pc_piix.c | 274 +++++++++++++++++++++++++++++++++-
hw/i386/pc_q35.c | 234 ++++++++++++++++++++++++++++-
include/hw/boards.h | 2 +
include/hw/i386/pc.h | 45 ++++++
target/i386/kvm/kvm-cpu.c | 1 +
target/i386/kvm/kvm.c | 4 +
tests/qtest/pvpanic-test.c | 5 +-
10 files changed, 860 insertions(+), 9 deletions(-)
10 files changed, 862 insertions(+), 9 deletions(-)
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 46cee8c544..06cec1becd 100644
index 97fa6de423..63042ef030 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -2324,7 +2324,10 @@ void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl, Error **errp)
@@ -2341,7 +2341,10 @@ void fdctrl_realize_common(DeviceState *dev, FDCtrl *fdctrl, Error **errp)
/* Restricted for Red Hat Enterprise Linux: */
MachineClass *mc = MACHINE_GET_CLASS(qdev_get_machine());
@ -108,10 +111,10 @@ index 46cee8c544..06cec1becd 100644
object_get_typename(OBJECT(dev)), mc->name);
return;
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index a33ac8b91e..17fc2354ae 100644
index a99c6e4fe3..447ea35275 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -228,6 +228,9 @@ static void acpi_get_pm_info(MachineState *machine, AcpiPmInfo *pm)
@@ -230,6 +230,9 @@ static void acpi_get_pm_info(MachineState *machine, AcpiPmInfo *pm)
pm->fadt.reset_reg = r;
pm->fadt.reset_val = 0xf;
pm->fadt.flags |= 1 << ACPI_FADT_F_RESET_REG_SUP;
@ -122,10 +125,10 @@ index a33ac8b91e..17fc2354ae 100644
pm->smi_on_cpuhp =
!!(smi_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT));
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index c2b9d62a35..b390e5cd94 100644
index a2ef40ecbc..e8109954ca 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -362,6 +362,296 @@ GlobalProperty pc_compat_1_4[] = {
@@ -371,6 +371,296 @@ GlobalProperty pc_compat_1_4[] = {
};
const size_t pc_compat_1_4_len = G_N_ELEMENTS(pc_compat_1_4);
@ -422,7 +425,7 @@ index c2b9d62a35..b390e5cd94 100644
GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled)
{
GSIState *s;
@@ -947,7 +1237,8 @@ void pc_memory_init(PCMachineState *pcms,
@@ -904,7 +1194,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);
@ -432,7 +435,7 @@ index c2b9d62a35..b390e5cd94 100644
memory_region_set_readonly(option_rom_mr, true);
}
memory_region_add_subregion_overlap(rom_memory,
@@ -1713,6 +2004,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
@@ -1694,6 +1985,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
pcmc->pvh_enabled = true;
pcmc->kvmclock_create_always = true;
assert(!mc->get_hotplug_handler);
@ -441,9 +444,9 @@ index c2b9d62a35..b390e5cd94 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;
@@ -1724,7 +2017,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
@@ -1704,7 +1997,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
mc->has_hotpluggable_cpus = true;
mc->default_boot_order = "cad";
mc->smp_parse = pc_smp_parse;
mc->block_default_type = IF_IDE;
- mc->max_cpus = 255;
+ /* 240: max CPU count for RHEL */
@ -452,10 +455,10 @@ index c2b9d62a35..b390e5cd94 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 eebb4f3141..15c74656a9 100644
index dda3f64f19..2885edffe9 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -51,6 +51,7 @@
@@ -50,6 +50,7 @@
#include "qapi/error.h"
#include "qemu/error-report.h"
#include "sysemu/xen.h"
@ -499,10 +502,21 @@ index eebb4f3141..15c74656a9 100644
#define DEFINE_I440FX_MACHINE(suffix, name, compatfn, optionfn) \
static void pc_init_##suffix(MachineState *machine) \
{ \
@@ -424,8 +436,10 @@ static void pc_i440fx_6_1_machine_options(MachineClass *m)
@@ -424,8 +436,10 @@ static void pc_i440fx_6_2_machine_options(MachineClass *m)
pcmc->default_cpu_version = 1;
}
+#if 0 /* Disabled for Red Hat Enterprise Linux */
DEFINE_I440FX_MACHINE(v6_2, "pc-i440fx-6.2", NULL,
pc_i440fx_6_2_machine_options);
+#endif /* Disabled for Red Hat Enterprise Linux */
static void pc_i440fx_6_1_machine_options(MachineClass *m)
{
@@ -437,8 +451,10 @@ static void pc_i440fx_6_1_machine_options(MachineClass *m)
m->smp_props.prefer_sockets = true;
}
+#if 0 /* Disabled for Red Hat Enterprise Linux */
DEFINE_I440FX_MACHINE(v6_1, "pc-i440fx-6.1", NULL,
pc_i440fx_6_1_machine_options);
@ -510,7 +524,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_6_0_machine_options(MachineClass *m)
{
@@ -436,8 +450,10 @@ static void pc_i440fx_6_0_machine_options(MachineClass *m)
@@ -449,8 +465,10 @@ static void pc_i440fx_6_0_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_6_0, pc_compat_6_0_len);
}
@ -521,7 +535,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_5_2_machine_options(MachineClass *m)
{
@@ -448,8 +464,10 @@ static void pc_i440fx_5_2_machine_options(MachineClass *m)
@@ -461,8 +479,10 @@ static void pc_i440fx_5_2_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_5_2, pc_compat_5_2_len);
}
@ -532,7 +546,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_5_1_machine_options(MachineClass *m)
{
@@ -464,8 +482,10 @@ static void pc_i440fx_5_1_machine_options(MachineClass *m)
@@ -477,8 +497,10 @@ static void pc_i440fx_5_1_machine_options(MachineClass *m)
pcmc->pci_root_uid = 1;
}
@ -543,7 +557,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_5_0_machine_options(MachineClass *m)
{
@@ -478,8 +498,10 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
@@ -491,8 +513,10 @@ static void pc_i440fx_5_0_machine_options(MachineClass *m)
m->auto_enable_numa_with_memdev = false;
}
@ -554,7 +568,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_4_2_machine_options(MachineClass *m)
{
@@ -488,8 +510,21 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
@@ -501,8 +525,21 @@ static void pc_i440fx_4_2_machine_options(MachineClass *m)
m->is_default = false;
compat_props_add(m->compat_props, hw_compat_4_2, hw_compat_4_2_len);
compat_props_add(m->compat_props, pc_compat_4_2, pc_compat_4_2_len);
@ -576,7 +590,7 @@ index eebb4f3141..15c74656a9 100644
DEFINE_I440FX_MACHINE(v4_2, "pc-i440fx-4.2", NULL,
pc_i440fx_4_2_machine_options);
@@ -502,8 +537,10 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
@@ -515,8 +552,10 @@ static void pc_i440fx_4_1_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_4_1, pc_compat_4_1_len);
}
@ -587,7 +601,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_4_0_machine_options(MachineClass *m)
{
@@ -516,8 +553,10 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
@@ -529,8 +568,10 @@ static void pc_i440fx_4_0_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_4_0, pc_compat_4_0_len);
}
@ -598,7 +612,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_3_1_machine_options(MachineClass *m)
{
@@ -533,8 +572,10 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
@@ -546,8 +587,10 @@ static void pc_i440fx_3_1_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_3_1, pc_compat_3_1_len);
}
@ -609,7 +623,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_3_0_machine_options(MachineClass *m)
{
@@ -543,8 +584,10 @@ static void pc_i440fx_3_0_machine_options(MachineClass *m)
@@ -556,8 +599,10 @@ static void pc_i440fx_3_0_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_3_0, pc_compat_3_0_len);
}
@ -620,7 +634,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_2_12_machine_options(MachineClass *m)
{
@@ -553,8 +596,10 @@ static void pc_i440fx_2_12_machine_options(MachineClass *m)
@@ -566,8 +611,10 @@ static void pc_i440fx_2_12_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len);
}
@ -631,7 +645,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_2_11_machine_options(MachineClass *m)
{
@@ -563,9 +608,11 @@ static void pc_i440fx_2_11_machine_options(MachineClass *m)
@@ -576,9 +623,11 @@ static void pc_i440fx_2_11_machine_options(MachineClass *m)
compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len);
}
@ -643,7 +657,7 @@ index eebb4f3141..15c74656a9 100644
static void pc_i440fx_2_10_machine_options(MachineClass *m)
{
pc_i440fx_2_11_machine_options(m);
@@ -937,3 +984,224 @@ static void xenfv_3_1_machine_options(MachineClass *m)
@@ -951,3 +1000,224 @@ 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
@ -757,10 +771,10 @@ index eebb4f3141..15c74656a9 100644
+
+static void pc_machine_rhel730_options(MachineClass *m)
+{
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
+ X86MachineClass *x86mc = X86_MACHINE_CLASS(m);
+ pc_machine_rhel740_options(m);
+ m->desc = "RHEL 7.3.0 PC (i440FX + PIIX, 1996)";
+ pcmc->linuxboot_dma_enabled = false;
+ x86mc->fwcfg_dma_enabled = false;
+ compat_props_add(m->compat_props, hw_compat_rhel_7_3, hw_compat_rhel_7_3_len);
+ compat_props_add(m->compat_props, pc_rhel_7_3_compat, pc_rhel_7_3_compat_len);
+}
@ -869,10 +883,10 @@ index eebb4f3141..15c74656a9 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 e7724fd02c..8e9fb62a48 100644
index 235054a643..c67418b6a9 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -196,8 +196,8 @@ static void pc_q35_init(MachineState *machine)
@@ -197,8 +197,8 @@ static void pc_q35_init(MachineState *machine)
if (pcmc->smbios_defaults) {
/* These values are guest ABI, do not change */
@ -883,7 +897,7 @@ index e7724fd02c..8e9fb62a48 100644
pcmc->smbios_uuid_encoded,
pcmc->smbios_stream_product,
pcmc->smbios_stream_version,
@@ -337,6 +337,7 @@ static void pc_q35_init(MachineState *machine)
@@ -342,6 +342,7 @@ static void pc_q35_init(MachineState *machine)
DEFINE_PC_MACHINE(suffix, name, pc_init_##suffix, optionfn)
@ -891,7 +905,7 @@ index e7724fd02c..8e9fb62a48 100644
static void pc_q35_machine_options(MachineClass *m)
{
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
@@ -602,3 +603,232 @@ static void pc_q35_2_4_machine_options(MachineClass *m)
@@ -620,3 +621,232 @@ 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);
@ -1113,11 +1127,11 @@ index e7724fd02c..8e9fb62a48 100644
+
+static void pc_q35_machine_rhel730_options(MachineClass *m)
+{
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
+ X86MachineClass *x86mc = X86_MACHINE_CLASS(m);
+ pc_q35_machine_rhel740_options(m);
+ m->desc = "RHEL-7.3.0 PC (Q35 + ICH9, 2009)";
+ m->max_cpus = 255;
+ pcmc->linuxboot_dma_enabled = false;
+ x86mc->fwcfg_dma_enabled = false;
+ compat_props_add(m->compat_props, hw_compat_rhel_7_3, hw_compat_rhel_7_3_len);
+ compat_props_add(m->compat_props, pc_rhel_7_3_compat, pc_rhel_7_3_compat_len);
+}
@ -1125,10 +1139,10 @@ index e7724fd02c..8e9fb62a48 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 ff4674474f..b860b30c13 100644
index 8bba96ef2b..04e8759815 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -242,6 +242,8 @@ struct MachineClass {
@@ -263,6 +263,8 @@ struct MachineClass {
strList *allowed_dynamic_sysbus_devices;
bool auto_enable_numa_with_memhp;
bool auto_enable_numa_with_memdev;
@ -1138,10 +1152,10 @@ index ff4674474f..b860b30c13 100644
bool smbus_no_migration_support;
bool nvdimm_supported;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 17ad7bfc3a..413b63d2ac 100644
index 7ccc9a1a07..d0544ee119 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -128,6 +128,9 @@ struct PCMachineClass {
@@ -125,6 +125,9 @@ struct PCMachineClass {
/* create kvmclock device even when KVM PV features are not exposed */
bool kvmclock_create_always;
@ -1151,7 +1165,7 @@ index 17ad7bfc3a..413b63d2ac 100644
};
#define TYPE_PC_MACHINE "generic-pc-machine"
@@ -277,6 +280,48 @@ extern const size_t pc_compat_1_5_len;
@@ -280,6 +283,48 @@ extern const size_t pc_compat_1_5_len;
extern GlobalProperty pc_compat_1_4[];
extern const size_t pc_compat_1_4_len;
@ -1213,10 +1227,10 @@ index d95028018e..7b004065ae 100644
};
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index e69abe48e3..4a3077b3f0 100644
index 5a698bde19..a668f521ac 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -3261,6 +3261,7 @@ static int kvm_get_msrs(X86CPU *cpu)
@@ -3336,6 +3336,7 @@ static int kvm_get_msrs(X86CPU *cpu)
struct kvm_msr_entry *msrs = cpu->kvm_msr_buf->entries;
int ret, i;
uint64_t mtrr_top_bits;
@ -1224,7 +1238,7 @@ index e69abe48e3..4a3077b3f0 100644
kvm_msr_buf_reset(cpu);
@@ -3579,6 +3580,9 @@ static int kvm_get_msrs(X86CPU *cpu)
@@ -3665,6 +3666,9 @@ static int kvm_get_msrs(X86CPU *cpu)
break;
case MSR_KVM_ASYNC_PF_EN:
env->async_pf_en_msr = msrs[i].data;
@ -1258,5 +1272,5 @@ index 6dcad2db49..580c2c43d2 100644
val = qtest_inb(qts, 0x505);
g_assert_cmpuint(val, ==, 3);
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 331e64809d6cf7cee23319c21e28bac7b58414e6 Mon Sep 17 00:00:00 2001
From 740a2dd943a2e0fcd41a9cd8eb94a136f8f49fa2 Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 2 Sep 2020 09:39:41 +0200
Subject: Enable make check
@ -40,17 +40,18 @@ Rebase changes (6.0.0):
Rebase changes (6.1.0):
- Remove unnecessary test disabling changes
Rebase changes (weekly-211006):
- New handling for bios-table-test (disabled downstream)
Merged patches (4.0.0):
- f7ffd13 Remove 7 qcow2 and luks iotests that are taking > 25 sec to run during the fast train build proce
Merged patches (4.1.0-rc0):
- 41288ff redhat: Remove raw iotest 205
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
redhat/qemu-kvm.spec.template | 4 ++--
redhat/qemu-kvm.spec.template | 2 +-
tests/qemu-iotests/051 | 8 ++++----
tests/qtest/bios-tables-test.c | 6 +++---
tests/qtest/bios-tables-test.c | 5 ++++-
tests/qtest/boot-serial-test.c | 6 +++++-
tests/qtest/cdrom-test.c | 4 ++++
tests/qtest/cpu-plug-test.c | 4 ++--
@ -58,14 +59,14 @@ Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
tests/qtest/fuzz-virtio-scsi-test.c | 2 +-
tests/qtest/hd-geo-test.c | 4 ++++
tests/qtest/lpc-ich9-test.c | 2 +-
tests/qtest/meson.build | 11 +++--------
tests/qtest/meson.build | 13 ++++---------
tests/qtest/prom-env-test.c | 4 ++++
tests/qtest/test-x86-cpuid-compat.c | 2 ++
tests/qtest/usb-hcd-xhci-test.c | 4 ++++
14 files changed, 40 insertions(+), 23 deletions(-)
14 files changed, 41 insertions(+), 21 deletions(-)
diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051
index 7bf29343d7..fd63402d78 100755
index 1d2fa93a11..c8a2815f54 100755
--- a/tests/qemu-iotests/051
+++ b/tests/qemu-iotests/051
@@ -174,9 +174,9 @@ run_qemu -drive if=virtio
@ -93,38 +94,37 @@ index 7bf29343d7..fd63402d78 100755
*)
;;
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 51d3a4e239..fe01fd8b7d 100644
index 258874167e..16d8304cde 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -1303,7 +1303,7 @@ static void test_acpi_virt_tcg_numamem(void)
free_test_data(&data);
@@ -1372,6 +1372,7 @@ static void test_acpi_virt_tcg_numamem(void)
}
-
+#if 0 /* Disabled for Red Hat Enterprise Linux */
+#if 0 /* Disabled for Red Hat Enterprise Linux */
static void test_acpi_virt_tcg_pxb(void)
{
test_data data = {
@@ -1335,7 +1335,7 @@ static void test_acpi_virt_tcg_pxb(void)
@@ -1403,6 +1404,7 @@ static void test_acpi_virt_tcg_pxb(void)
free_test_data(&data);
}
-
+#endif
static void test_acpi_tcg_acpi_hmat(const char *machine)
{
test_data data;
@@ -1565,7 +1565,7 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
- qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb);
+/* qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb); */
qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt);
@@ -1644,7 +1646,8 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/virt", test_acpi_virt_tcg);
qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem);
qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
- qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb);
+ /* Disabled for Red Hat Enterprise Linux
+ qtest_add_func("acpi/virt/pxb", test_acpi_virt_tcg_pxb); */
qtest_add_func("acpi/virt/oem-fields", test_acpi_oem_fields_virt);
}
}
ret = g_test_run();
diff --git a/tests/qtest/boot-serial-test.c b/tests/qtest/boot-serial-test.c
index 96849cec91..81df62e01a 100644
index 83828ba270..294476b959 100644
--- a/tests/qtest/boot-serial-test.c
+++ b/tests/qtest/boot-serial-test.c
@@ -148,19 +148,23 @@ static testdef_t tests[] = {
@ -275,17 +275,17 @@ index fe0bef9980..7a9d51579b 100644
qtest_outl(s, 0xcf8, 0x8000f840); /* PMBASE */
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 2bc3efd49f..53ce4b6416 100644
index c9d8458062..049e06c057 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -73,7 +73,6 @@ qtests_i386 = \
@@ -68,7 +68,6 @@ qtests_i386 = \
(config_all_devices.has_key('CONFIG_RTL8139_PCI') ? ['rtl8139-test'] : []) + \
(config_all_devices.has_key('CONFIG_E1000E_PCI_EXPRESS') ? ['fuzz-e1000e-test'] : []) + \
(config_all_devices.has_key('CONFIG_ESP_PCI') ? ['am53c974-test'] : []) + \
- (unpack_edk2_blobs ? ['bios-tables-test'] : []) + \
qtests_pci + \
['fdc-test',
'ide-test',
'hd-geo-test',
'boot-order-test',
- 'bios-tables-test',
'rtc-test',
'i440fx-test',
'fw_cfg-test',
@@ -81,7 +80,6 @@ qtests_i386 = \
'drive_del-test',
'tco-test',
@ -314,16 +314,18 @@ index 2bc3efd49f..53ce4b6416 100644
qtests_pci + ['migration-test', 'numa-test', 'cpu-plug-test', 'drive_del-test']
qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
@@ -186,7 +182,7 @@ qtests_aarch64 = \
@@ -186,8 +182,8 @@ qtests_aarch64 = \
['arm-cpu-features',
'numa-test',
'boot-serial-test',
- 'xlnx-can-test',
- 'fuzz-xlnx-dp-test',
+# 'xlnx-can-test',
+# 'fuzz-xlnx-dp-test',
'migration-test']
qtests_s390x = \
@@ -195,7 +191,6 @@ qtests_s390x = \
@@ -196,7 +192,6 @@ qtests_s390x = \
(config_host.has_key('CONFIG_POSIX') ? ['test-filter-redirector'] : []) + \
['boot-serial-test',
'drive_del-test',
@ -401,5 +403,5 @@ index 10ef9d2a91..3855873050 100644
qtest_start("-device nec-usb-xhci,id=xhci"
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 77ea9d0bc1e8f79e04d63f75d10143d3eef3cd75 Mon Sep 17 00:00:00 2001
From e9ebc159a9acf108e1ec6f622be3f256cf14aba7 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
@ -32,15 +32,13 @@ Merged patches (2.9.0):
Merged patches (4.1.0-rc3):
- 2b89558 vfio: increase the cap on number of assigned devices to 64
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
hw/vfio/pci.c | 29 ++++++++++++++++++++++++++++-
hw/vfio/pci.h | 1 +
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index e1ea1d8a23..717af74b9a 100644
index 7b45353ce2..eb725a3aee 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -45,6 +45,9 @@
@ -53,7 +51,7 @@ index e1ea1d8a23..717af74b9a 100644
static void vfio_disable_interrupts(VFIOPCIDevice *vdev);
static void vfio_mmap_set_enabled(VFIOPCIDevice *vdev, bool enabled);
@@ -2790,9 +2793,30 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
@@ -2807,9 +2810,30 @@ static void vfio_realize(PCIDevice *pdev, Error **errp)
ssize_t len;
struct stat st;
int groupid;
@ -85,7 +83,7 @@ index e1ea1d8a23..717af74b9a 100644
if (!vdev->vbasedev.sysfsdev) {
if (!(~vdev->host.domain || ~vdev->host.bus ||
~vdev->host.slot || ~vdev->host.function)) {
@@ -3229,6 +3253,9 @@ static Property vfio_pci_dev_properties[] = {
@@ -3246,6 +3270,9 @@ static Property vfio_pci_dev_properties[] = {
DEFINE_PROP_BOOL("x-no-kvm-msix", VFIOPCIDevice, no_kvm_msix, false),
DEFINE_PROP_BOOL("x-no-geforce-quirks", VFIOPCIDevice,
no_geforce_quirks, false),
@ -108,5 +106,5 @@ index 64777516d1..e0fe6ca97e 100644
uint32_t device_id;
uint32_t sub_vendor_id;
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From b170ff26dd57d703253c4d9d0e4afd300ff1a010 Mon Sep 17 00:00:00 2001
From b736b0c41dd62ed6f874a7b33ca1d4f9ceab4573 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
@ -16,16 +16,15 @@ Add support statement to -help output, reporting direct qemu-kvm usage
as unsupported by Red Hat, and advising users to use libvirt instead.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
softmmu/vl.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 5ca11e7469..55673d7302 100644
index 620a1f1367..d46b8fb4ab 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -802,9 +802,17 @@ static void version(void)
@@ -827,9 +827,17 @@ static void version(void)
QEMU_COPYRIGHT "\n");
}
@ -43,7 +42,7 @@ index 5ca11e7469..55673d7302 100644
printf("usage: %s [options] [disk_image]\n\n"
"'disk_image' is a raw hard disk image for IDE hard disk 0\n\n",
error_get_progname());
@@ -830,6 +838,7 @@ static void help(int exitcode)
@@ -855,6 +863,7 @@ static void help(int exitcode)
"\n"
QEMU_HELP_BOTTOM "\n");
@ -52,5 +51,5 @@ index 5ca11e7469..55673d7302 100644
}
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From c5616455a4db0e5b67a41e4f6ec12b939e95eaa1 Mon Sep 17 00:00:00 2001
From 9a7621819821ee88d2f99d6b629fd87aa9a07758 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
@ -33,17 +33,15 @@ Merged patches (5.1.0):
Merged patches (5.2.0 rc0):
- f8a4123 vl: Remove downstream-only MAX_RHEL_CPUS code
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
accel/kvm/kvm-all.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 0125c17edb..b5d488a027 100644
index eecd8031cf..8f2a53438f 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -2413,6 +2413,18 @@ static int kvm_init(MachineState *ms)
@@ -2423,6 +2423,18 @@ static int kvm_init(MachineState *ms)
soft_vcpus_limit = kvm_recommended_vcpus(s);
hard_vcpus_limit = kvm_max_vcpus(s);
@ -63,5 +61,5 @@ index 0125c17edb..b5d488a027 100644
if (nc->num > soft_vcpus_limit) {
warn_report("Number of %s cpus requested (%d) exceeds "
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From c05425555925206ce8d1bfc347313a101444cff7 Mon Sep 17 00:00:00 2001
From 0d3fc0b4c5773c6cabb0a58c064475f76eb6ac1e Mon Sep 17 00:00:00 2001
From: Miroslav Rezanina <mrezanin@redhat.com>
Date: Wed, 8 Jul 2020 08:35:50 +0200
Subject: Use qemu-kvm in documentation instead of qemu-system-<arch>
@ -22,8 +22,6 @@ Rebase notes (5.1.0 rc0):
Rebase notes (5.2.0 rc0):
- rewrite patch to new docs structure
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
---
docs/defs.rst.inc | 4 ++--
docs/tools/qemu-trace-stap.rst | 14 +++++++-------
@ -45,10 +43,10 @@ index 52d6454b93..d74dbdeca9 100644
.. |I2C| replace:: I\ :sup:`2`\ C
.. |I2S| replace:: I\ :sup:`2`\ S
diff --git a/docs/tools/qemu-trace-stap.rst b/docs/tools/qemu-trace-stap.rst
index fb70445c75..0d9a783112 100644
index d53073b52b..9e93df084f 100644
--- a/docs/tools/qemu-trace-stap.rst
+++ b/docs/tools/qemu-trace-stap.rst
@@ -45,19 +45,19 @@ The following commands are valid:
@@ -46,19 +46,19 @@ The following commands are valid:
any of the listed names. If no *PATTERN* is given, the all possible
probes will be listed.
@ -71,7 +69,7 @@ index fb70445c75..0d9a783112 100644
.. option:: run OPTIONS BINARY PATTERN...
@@ -89,18 +89,18 @@ The following commands are valid:
@@ -90,18 +90,18 @@ The following commands are valid:
Restrict the tracing session so that it only triggers for the process
identified by *PID*.
@ -93,7 +91,7 @@ index fb70445c75..0d9a783112 100644
To monitor QEMU processes running an alternative binary outside of
``$PATH``, displaying verbose information about setup of the
@@ -108,7 +108,7 @@ The following commands are valid:
@@ -109,7 +109,7 @@ The following commands are valid:
::
@ -103,10 +101,10 @@ index fb70445c75..0d9a783112 100644
See also
--------
diff --git a/qemu-options.hx b/qemu-options.hx
index ac596e01a1..eea5fe9f68 100644
index ae2c6dbbfc..94c4a8dbaf 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -3124,11 +3124,11 @@ SRST
@@ -3150,11 +3150,11 @@ SRST
::
@ -124,5 +122,5 @@ index ac596e01a1..eea5fe9f68 100644
``-netdev vhost-vdpa,vhostdev=/path/to/dev``
Establish a vhost-vdpa netdev.
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 14b8056c89dee051d3cf9b6893940811dfb9a61d Mon Sep 17 00:00:00 2001
From d95768c039a2bf6b68422f83a8d55dad41bd3181 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]
@ -42,7 +42,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 6d80730287..bba3d75707 100644
index 51fd09522a..a35257c35a 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -896,6 +896,15 @@ static void virtio_scsi_hotplug(HotplugHandler *hotplug_dev, DeviceState *dev,
@ -62,5 +62,5 @@ index 6d80730287..bba3d75707 100644
if (blk_op_is_blocked(sd->conf.blk, BLOCK_OP_TYPE_DATAPLANE, errp)) {
return;
--
2.31.1
2.27.0

View File

@ -1,4 +1,4 @@
From 786d6e8bf10cac3eec615ad8b5590fa85afe55b8 Mon Sep 17 00:00:00 2001
From 92bb62c47eab021f8dabecd09b5fbc1706e6a29c 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
@ -56,5 +56,5 @@ index ed7c077a0d..48a8efe678 100644
spapr_check_pagesize(spapr, qemu_minrampagesize(), errp);
}
--
2.31.1
2.27.0

View File

@ -0,0 +1,53 @@
From a9b5da617c29f48199cbea08d6a1c083877dce10 Mon Sep 17 00:00:00 2001
From: Laurent Vivier <lvivier@redhat.com>
Date: Mon, 15 Nov 2021 14:22:29 +0100
Subject: compat: Update hw_compat_rhel_8_5
RH-Author: Laurent Vivier <lvivier@redhat.com>
RH-MergeRequest: 66: redhat: Update pseries-rhel8.5.0 machine type
RH-Commit: [1/2] 232f2ad2b29d250fbdb8fcea9d814704c575ba2b
RH-Bugzilla: 2022608
RH-Acked-by: Eric Auger <eric.auger@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Greg Kurz <gkurz@redhat.com>
Add properties from hw_compat_6_1 as it already includes the ones from
hw_compat_6_0. Add a lately added property from 6.0 too.
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
--
Rebase notes (6.2.0 rc3):
- Included compatc changes introduced in RC2
---
hw/core/machine.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 62febde5aa..736c765c30 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -38,7 +38,7 @@
#include "hw/virtio/virtio-pci.h"
/*
- * Mostly the same as hw_compat_6_0
+ * Mostly the same as hw_compat_6_0 and hw_compat_6_1
*/
GlobalProperty hw_compat_rhel_8_5[] = {
/* hw_compat_rhel_8_5 from hw_compat_6_0 */
@@ -51,6 +51,12 @@ GlobalProperty hw_compat_rhel_8_5[] = {
{ "e1000", "init-vet", "off" },
/* hw_compat_rhel_8_5 from hw_compat_6_0 */
{ "e1000e", "init-vet", "off" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "vhost-vsock-device", "seqpacket", "off" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_1 */
+ { "vhost-user-vsock-device", "seqpacket", "off" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_1 */
+ { "nvme-ns", "shared", "off" },
};
const size_t hw_compat_rhel_8_5_len = G_N_ELEMENTS(hw_compat_rhel_8_5);
--
2.27.0

View File

@ -0,0 +1,43 @@
From 82358c35f04f026820b3907069a6c19cd95b654d Mon Sep 17 00:00:00 2001
From: Laurent Vivier <lvivier@redhat.com>
Date: Mon, 15 Nov 2021 14:25:33 +0100
Subject: redhat: Update pseries-rhel8.5.0 machine type
RH-Author: Laurent Vivier <lvivier@redhat.com>
RH-MergeRequest: 66: redhat: Update pseries-rhel8.5.0 machine type
RH-Commit: [2/2] 36f7ad1ea56baaaecb139875ad0a90a6470196be
RH-Bugzilla: 2022608
RH-Acked-by: Eric Auger <eric.auger@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Greg Kurz <gkurz@redhat.com>
`
We don't introduce a new machine type for rhel8.6.0 but we need
to keep compatibility with rhel8.5.0 machine type.
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
---
hw/ppc/spapr.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index cace86028d..2f27888d8a 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -5177,10 +5177,14 @@ static void spapr_machine_rhel_default_class_options(MachineClass *mc)
static void spapr_machine_rhel850_class_options(MachineClass *mc)
{
+ SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
+
/* The default machine type must apply the RHEL specific defaults */
spapr_machine_rhel_default_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_rhel_8_5,
hw_compat_rhel_8_5_len);
+ smc->pre_6_2_numa_affinity = true;
+ mc->smp_props.prefer_sockets = true;
}
DEFINE_SPAPR_MACHINE(rhel850, "rhel8.5.0", true);
--
2.27.0

View File

@ -0,0 +1,51 @@
From ce73e939b993cc6be170cdb5d3f2068270593f2b Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Tue, 16 Nov 2021 17:03:07 +0100
Subject: redhat: virt-rhel8.5.0: Update machine type compatibility for QEMU
6.2.0 update
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 75: redhat: virt-rhel8.5.0: Update machine type compatibility for QEMU 6.2.0 update
RH-Commit: [21/21] f027d13654944e3d34e3356affe7af952eec2bed
RH-Bugzilla: 2022607
RH-Acked-by: Gavin Shan <gshan@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
To keep compatibility with 8.5-AV machine type we need to
turn few new options on by default:
smp_props.prefer_sockets, no_cpu_topology, no_tcg_its
TESTED: migrate from rhel-av-8.5.0 to rhel-8.6.0 and vice-versa
with upstream fix: 33a0c404fb hw/intc/arm_gicv3_its: Revert version
increments in vmstate_its
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/arm/virt.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index c77d26ab13..e8941afd01 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3225,8 +3225,13 @@ type_init(rhel_machine_init);
static void rhel850_virt_options(MachineClass *mc)
{
+ VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
+
compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len);
compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
+ mc->smp_props.prefer_sockets = true;
+ vmc->no_cpu_topology = true;
+ vmc->no_tcg_its = true;
}
DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0)
--
2.27.0

View File

@ -0,0 +1,45 @@
From f9643b6934657292aae0b830627b1e5f9b8cbaa1 Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost@redhat.com>
Date: Tue, 19 Oct 2021 13:17:06 -0400
Subject: Fix virtio-net-pci* "vectors" compat
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-MergeRequest: 77: 8.6/6.2 mt fixes
RH-Commit: [21/23] 8ad581932275d2698a99f31bec40b14f1dbd3d2e
RH-Bugzilla: 2026443
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
hw_compat_rhel_8_4 has an issue: it affects only "virtio-net-pci"
but not "virtio-net-pci-transitional" and
"virtio-net-pci-non-transitional". The solution is to use the
"virtio-net-pci-base" type in compat_props.
An equivalent fix will be submitted for hw_compat_5_2 upstream.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
(cherry picked from commit d45823ab0d0138b2fbaf2ed1e1896d2052f3ccb3)
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/core/machine.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 736c765c30..024b025fc2 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -71,7 +71,11 @@ GlobalProperty hw_compat_rhel_8_4[] = {
/* hw_compat_rhel_8_4 from hw_compat_5_2 */
{ "virtio-blk-device", "report-discard-granularity", "off" },
/* hw_compat_rhel_8_4 from hw_compat_5_2 */
- { "virtio-net-pci", "vectors", "3"},
+ /*
+ * Upstream incorrectly had "virtio-net-pci" instead of "virtio-net-pci-base",
+ * (https://bugzilla.redhat.com/show_bug.cgi?id=1999141)
+ */
+ { "virtio-net-pci-base", "vectors", "3"},
};
const size_t hw_compat_rhel_8_4_len = G_N_ELEMENTS(hw_compat_rhel_8_4);
--
2.27.0

View File

@ -0,0 +1,73 @@
From 7ad8814e583dcc7dc23e3e8398570243b8f176a1 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 23 Nov 2021 17:57:42 +0000
Subject: x86/rhel machine types: Add pc_rhel_8_5_compat
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-MergeRequest: 77: 8.6/6.2 mt fixes
RH-Commit: [22/23] 8bf555c5d78f344b97ffd5c888c7a7bed592d9d0
RH-Bugzilla: 2026443
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Add pc_rhel_8_5_compat as the merge of pc_compat_6_1 and pc_compat_6_0
(since 8.5 was based on 6.0).
Note, x-keep-pci-slot-hpc flipped back and forward, leaving it out
looks like it leaves us with the original.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/i386/pc.c | 21 +++++++++++++++++++++
include/hw/i386/pc.h | 3 +++
2 files changed, 24 insertions(+)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index e8109954ca..4c08a1971c 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -387,6 +387,27 @@ GlobalProperty pc_rhel_compat[] = {
};
const size_t pc_rhel_compat_len = G_N_ELEMENTS(pc_rhel_compat);
+GlobalProperty pc_rhel_8_5_compat[] = {
+ /* pc_rhel_8_5_compat from pc_compat_6_0 */
+ { "qemu64" "-" TYPE_X86_CPU, "family", "6" },
+ /* pc_rhel_8_5_compat from pc_compat_6_0 */
+ { "qemu64" "-" TYPE_X86_CPU, "model", "6" },
+ /* pc_rhel_8_5_compat from pc_compat_6_0 */
+ { "qemu64" "-" TYPE_X86_CPU, "stepping", "3" },
+ /* pc_rhel_8_5_compat from pc_compat_6_0 */
+ { TYPE_X86_CPU, "x-vendor-cpuid-only", "off" },
+ /* pc_rhel_8_5_compat from pc_compat_6_0 */
+ { "ICH9-LPC", ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, "off" },
+
+ /* pc_rhel_8_5_compat from pc_compat_6_1 */
+ { TYPE_X86_CPU, "hv-version-id-build", "0x1bbc" },
+ /* pc_rhel_8_5_compat from pc_compat_6_1 */
+ { TYPE_X86_CPU, "hv-version-id-major", "0x0006" },
+ /* pc_rhel_8_5_compat from pc_compat_6_1 */
+ { TYPE_X86_CPU, "hv-version-id-minor", "0x0001" },
+};
+const size_t pc_rhel_8_5_compat_len = G_N_ELEMENTS(pc_rhel_8_5_compat);
+
GlobalProperty pc_rhel_8_4_compat[] = {
/* pc_rhel_8_4_compat from pc_compat_5_2 */
{ "ICH9-LPC", "x-smi-cpu-hotunplug", "off" },
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index d0544ee119..9e8bfb69f8 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -286,6 +286,9 @@ extern const size_t pc_compat_1_4_len;
extern GlobalProperty pc_rhel_compat[];
extern const size_t pc_rhel_compat_len;
+extern GlobalProperty pc_rhel_8_5_compat[];
+extern const size_t pc_rhel_8_5_compat_len;
+
extern GlobalProperty pc_rhel_8_4_compat[];
extern const size_t pc_rhel_8_4_compat_len;
--
2.27.0

View File

@ -0,0 +1,54 @@
From 7bd99eebadfdbea6a76585b526e7cab1ee8b1fde Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 23 Nov 2021 18:07:49 +0000
Subject: x86/rhel machine types: Wire compat into q35 and i440fx
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-MergeRequest: 77: 8.6/6.2 mt fixes
RH-Commit: [23/23] fc3861aeccc943b434231193ef45ffbc0b3cf6c6
RH-Bugzilla: 2026443
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
Wire the pc_rhel_8_5 compat data into both piix and q35
to keep the existing machine types compatible.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
hw/i386/pc_piix.c | 4 ++++
hw/i386/pc_q35.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 2885edffe9..37fab00733 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -1040,6 +1040,10 @@ static void pc_machine_rhel760_options(MachineClass *m)
pcmc->kvmclock_create_always = false;
/* From pc_i440fx_5_1_machine_options() */
pcmc->pci_root_uid = 1;
+ compat_props_add(m->compat_props, hw_compat_rhel_8_5,
+ hw_compat_rhel_8_5_len);
+ compat_props_add(m->compat_props, pc_rhel_8_5_compat,
+ pc_rhel_8_5_compat_len);
compat_props_add(m->compat_props, hw_compat_rhel_8_4,
hw_compat_rhel_8_4_len);
compat_props_add(m->compat_props, pc_rhel_8_4_compat,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index c67418b6a9..78876e1101 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -658,6 +658,10 @@ static void pc_q35_machine_rhel850_options(MachineClass *m)
m->desc = "RHEL-8.5.0 PC (Q35 + ICH9, 2009)";
pcmc->smbios_stream_product = "RHEL-AV";
pcmc->smbios_stream_version = "8.5.0";
+ compat_props_add(m->compat_props, hw_compat_rhel_8_5,
+ hw_compat_rhel_8_5_len);
+ compat_props_add(m->compat_props, pc_rhel_8_5_compat,
+ pc_rhel_8_5_compat_len);
}
DEFINE_PC_MACHINE(q35_rhel850, "pc-q35-rhel8.5.0", pc_q35_init_rhel850,
--
2.27.0

View File

@ -0,0 +1,58 @@
From 265a57f2955b7f0b65e3f57f89aa1ff2541d3f73 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Fri, 26 Nov 2021 09:37:11 +0100
Subject: redhat: Add s390x machine type compatibility handling for the rebase
to v6.2
RH-Author: Thomas Huth <thuth@redhat.com>
RH-MergeRequest: 80: Add s390x machine type compatibility handling for the rebase to v6.2
RH-Commit: [26/26] c45cf594604f6dd23954696b9c84d2025e328d11
RH-Bugzilla: 2022602
RH-Acked-by: David Hildenbrand <david@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
Add compatibility handling for the rhel8.5.0 machine type (and
recursively older, of course).
Based on the following upstream commits:
463e50da8b - s390x/cpumodel: Bump up QEMU model to a stripped-down IBM z14 GA2
30e398f796 - s390x/cpumodel: Add more feature to gen16 default model
4a0af2930a - machine: Prefer cores over sockets in smp parsing since 6.2
2b52619994 - machine: Move smp_prefer_sockets to struct SMPCompatProps
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 181856e6cf..cf13c457d6 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1105,11 +1105,21 @@ DEFINE_CCW_MACHINE(2_4, "2.4", false);
static void ccw_machine_rhel850_instance_options(MachineState *machine)
{
+ static const S390FeatInit qemu_cpu_feat = { S390_FEAT_LIST_QEMU_V6_0 };
+
+ s390_set_qemu_cpu_model(0x2964, 13, 2, qemu_cpu_feat);
+
+ s390_cpudef_featoff_greater(16, 1, S390_FEAT_NNPA);
+ s390_cpudef_featoff_greater(16, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
+ s390_cpudef_featoff_greater(16, 1, S390_FEAT_BEAR_ENH);
+ s390_cpudef_featoff_greater(16, 1, S390_FEAT_RDP);
+ s390_cpudef_featoff_greater(16, 1, S390_FEAT_PAI);
}
static void ccw_machine_rhel850_class_options(MachineClass *mc)
{
compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
+ mc->smp_props.prefer_sockets = true;
}
DEFINE_CCW_MACHINE(rhel850, "rhel8.5.0", true);
--
2.27.0

View File

@ -0,0 +1,51 @@
From 529a5d908f5d16714b8ae0a51eaaaa84994dfae8 Mon Sep 17 00:00:00 2001
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: Tue, 21 Dec 2021 09:45:44 -0500
Subject: [PATCH 1/2] acpi: validate hotplug selector on access
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Jon Maloy <jmaloy@redhat.com>
RH-MergeRequest: 97: acpi: validate hotplug selector on access
RH-Commit: [1/1] 79bcfb0df0091e2b716d2e1c545f047b3409c26c (jmaloy/qemu-kvm)
RH-Bugzilla: 2036580
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
When bus is looked up on a pci write, we didn't
validate that the lookup succeeded.
Fuzzers thus can trigger QEMU crash by dereferencing the NULL
bus pointer.
Fixes: b32bd763a1 ("pci: introduce acpi-index property for PCI device")
Fixes: CVE-2021-4158
Cc: "Igor Mammedov" <imammedo@redhat.com>
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/770
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
(cherry picked from commit 9bd6565ccee68f72d5012e24646e12a1c662827e)
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
---
hw/acpi/pcihp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index 30405b5113..a5e182dd3a 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -491,6 +491,9 @@ static void pci_write(void *opaque, hwaddr addr, uint64_t data,
}
bus = acpi_pcihp_find_hotplug_bus(s, s->hotplug_select);
+ if (!bus) {
+ break;
+ }
QTAILQ_FOREACH_SAFE(kid, &bus->qbus.children, sibling, next) {
Object *o = OBJECT(kid->child);
PCIDevice *dev = PCI_DEVICE(o);
--
2.27.0

View File

@ -1,71 +0,0 @@
From bf83e26f55bd16f06df86b1bfc1a9c4708c9d11e Mon Sep 17 00:00:00 2001
From: Jon Maloy <jmaloy@redhat.com>
Date: Thu, 21 Oct 2021 12:10:47 -0400
Subject: [PATCH 1/2] e1000: fix tx re-entrancy problem
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Jon Maloy <jmaloy@redhat.com>
RH-MergeRequest: 54: e1000: fix tx re-entrancy problem
RH-Commit: [1/1] 0aa00b3d9db1c318bf133e1f073e289ef4fb1cfa (jmaloy/qemu-kvm)
RH-Bugzilla: 1930092
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Acked-by: Jason Wang <None>
The fact that the MMIO handler is not re-entrant causes an infinite
loop under certain conditions:
Guest write to TDT -> Loopback -> RX (DMA to TDT) -> TX
We now eliminate the effect of this problem locally in e1000, by adding
a boolean in struct E1000State indicating when the TX side is busy. This
will cause any entering new call to return early instead of interfering
with the ongoing work, and eliminates any risk of looping.
This is intended to address CVE-2021-20257.
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit 25ddb946e6301f42cff3094ea1c25fb78813e7e9)
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
---
hw/net/e1000.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index c2877978d9..282d01e374 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -107,6 +107,7 @@ struct E1000State_st {
e1000x_txd_props props;
e1000x_txd_props tso_props;
uint16_t tso_frames;
+ bool busy;
} tx;
struct {
@@ -763,6 +764,11 @@ start_xmit(E1000State *s)
return;
}
+ if (s->tx.busy) {
+ return;
+ }
+ s->tx.busy = true;
+
while (s->mac_reg[TDH] != s->mac_reg[TDT]) {
base = tx_desc_base(s) +
sizeof(struct e1000_tx_desc) * s->mac_reg[TDH];
@@ -789,6 +795,7 @@ start_xmit(E1000State *s)
break;
}
}
+ s->tx.busy = false;
set_ics(s, 0, cause);
}
--
2.27.0

View File

@ -0,0 +1,57 @@
From a154eb35d738aecf552d57d99499facce1c834ba Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Mon, 20 Dec 2021 15:24:24 +0100
Subject: [PATCH 4/6] hw/arm/virt: Add 8.6 machine type
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
RH-Commit: [4/5] d0df3e796d3e9a6ca2af1e3b33fc6021bcac5d09
RH-Bugzilla: 2031039
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
branch: rhel-8.6.0
Brew: 42212069
Upstream: no
Add 8.6 machine type.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 6a4173b6c3..c9c17b9d45 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3228,17 +3228,23 @@ static void rhel_machine_init(void)
}
type_init(rhel_machine_init);
+static void rhel860_virt_options(MachineClass *mc)
+{
+ compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len);
+}
+DEFINE_RHEL_MACHINE_AS_LATEST(8, 6, 0)
+
static void rhel850_virt_options(MachineClass *mc)
{
VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
- compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len);
+ rhel860_virt_options(mc);
compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
mc->smp_props.prefer_sockets = true;
vmc->no_cpu_topology = true;
vmc->no_tcg_its = true;
}
-DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0)
+DEFINE_RHEL_MACHINE(8, 5, 0)
static void rhel840_virt_options(MachineClass *mc)
{
--
2.27.0

View File

@ -1,39 +0,0 @@
From 86e3057c0a6ca9b032b27da95f466cc617f39685 Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Tue, 12 Oct 2021 17:45:08 +0200
Subject: [PATCH 2/2] hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 50: hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type
RH-Commit: [1/1] 36829fd07764be52b3af52e58f6d6fce50d1d10e
RH-Bugzilla: 1998947
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
branch: rhel-8.6.0
upstream: no
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=40294321
Add hw_compat_rhel_8_5 to rhel8.5 virt options.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 07f9e64b23..4d1fd970fc 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3143,6 +3143,7 @@ type_init(rhel_machine_init);
static void rhel850_virt_options(MachineClass *mc)
{
compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
}
DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0)
--
2.27.0

View File

@ -0,0 +1,86 @@
From 1b4a8daf695a81f18ba70bea91b199da215da4e1 Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Wed, 5 Jan 2022 16:17:10 +0100
Subject: [PATCH 5/6] hw/arm/virt: Check no_tcg_its and minor style changes
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
RH-Commit: [5/5] 57e77446ff5a1a7efe152b2c907c0a0ca5487ab7
RH-Bugzilla: 2031039
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
branch: rhel-8.6.0
Brew: 42212069
Upstream: no
Truly allow TCG ITS instantiation according to the no_tcg_its
class flag. Otherwise it is always set to false.
We also take benefit of this patch to do some minor non
functional style changes to be closer to the upstream code.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index c9c17b9d45..dbf0a6d62f 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3157,6 +3157,7 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"in ACPI table header."
"The string may be up to 6 bytes in size");
+
object_class_property_add_str(oc, "x-oem-table-id",
virt_get_oem_table_id,
virt_set_oem_table_id);
@@ -3164,6 +3165,7 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"Override the default value of field OEM Table ID "
"in ACPI table header."
"The string may be up to 8 bytes in size");
+
}
static void rhel_virt_instance_init(Object *obj)
@@ -3188,24 +3190,32 @@ static void rhel_virt_instance_init(Object *obj)
} else {
/* Default allows ITS instantiation */
vms->its = true;
+
+ if (vmc->no_tcg_its) {
+ vms->tcg_its = false;
+ } else {
+ vms->tcg_its = true;
+ }
}
/* Default disallows iommu instantiation */
vms->iommu = VIRT_IOMMU_NONE;
+ /* The default root bus is attached to iommu by default */
+ vms->default_bus_bypass_iommu = false;
+
/* Default disallows RAS instantiation and is non-configurable for RHEL */
vms->ras = false;
/* MTE is disabled by default and non-configurable for RHEL */
vms->mte = false;
- vms->default_bus_bypass_iommu = false;
vms->irqmap = a15irqmap;
virt_flash_create(vms);
+
vms->oem_id = g_strndup(ACPI_BUILD_APPNAME6, 6);
vms->oem_table_id = g_strndup(ACPI_BUILD_APPNAME8, 8);
-
}
static const TypeInfo rhel_machine_info = {
--
2.27.0

View File

@ -0,0 +1,78 @@
From 8d5b57798d079307a98f6be5e1f6d28d1937a2fe Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Mon, 20 Dec 2021 15:50:44 +0100
Subject: [PATCH 1/6] hw/arm/virt: Register "iommu" as a class property
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
RH-Commit: [1/5] 74b01bb90213493db700d5bdf81dd99892571972
RH-Bugzilla: 2031039
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
branch: rhel-8.6.0
Brew: 42212069
Upstream: no
Register the "iommu" option as a class property. This mirrors what
was done in upstream commit b91def7b ("arm/virt: Register
most properties as class properties").
While we are at it we also move the "x-oem-id" and "x-oem-table-id"
registrations at the very end of the rhel_machine_class_init()
function. This makes our life easier when comparing with upstream.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index e8941afd01..684ffce52e 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3131,6 +3131,18 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"Set GIC version. "
"Valid values are 2, 3, host and max");
+ object_class_property_add_str(oc, "iommu", virt_get_iommu, virt_set_iommu);
+ object_class_property_set_description(oc, "iommu",
+ "Set the IOMMU type. "
+ "Valid values are none and smmuv3");
+
+ object_class_property_add_bool(oc, "default_bus_bypass_iommu",
+ virt_get_default_bus_bypass_iommu,
+ virt_set_default_bus_bypass_iommu);
+ object_class_property_set_description(oc, "default_bus_bypass_iommu",
+ "Set on/off to enable/disable "
+ "bypass_iommu for default root bus");
+
object_class_property_add_str(oc, "x-oem-id",
virt_get_oem_id,
virt_set_oem_id);
@@ -3146,10 +3158,6 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"Override the default value of field OEM Table ID "
"in ACPI table header."
"The string may be up to 8 bytes in size");
- object_class_property_add_bool(oc, "default_bus_bypass_iommu",
- virt_get_default_bus_bypass_iommu,
- virt_set_default_bus_bypass_iommu);
-
}
static void rhel_virt_instance_init(Object *obj)
@@ -3183,10 +3191,6 @@ static void rhel_virt_instance_init(Object *obj)
/* Default disallows iommu instantiation */
vms->iommu = VIRT_IOMMU_NONE;
- object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu);
- object_property_set_description(obj, "iommu",
- "Set the IOMMU type. "
- "Valid values are none and smmuv3");
/* Default disallows RAS instantiation and is non-configurable for RHEL */
vms->ras = false;
--
2.27.0

View File

@ -0,0 +1,57 @@
From 07e2094cd86c1be349c0bdda69acd1857afacb66 Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Mon, 20 Dec 2021 16:04:59 +0100
Subject: [PATCH 2/6] hw/arm/virt: Register "its" as a class property
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
RH-Commit: [2/5] 4ddfa57495578127770f93689c4d9f111a12b91c
RH-Bugzilla: 2031039
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
branch: rhel-8.6.0
Brew: 42212069
Upstream: no
Register "its" as a class property. This mirrors what was done
in commit 27edeeaafe43 ("virt: Register "its" as class property").
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 684ffce52e..d679391eb0 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3143,6 +3143,12 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"Set on/off to enable/disable "
"bypass_iommu for default root bus");
+ object_class_property_add_bool(oc, "its", virt_get_its,
+ virt_set_its);
+ object_class_property_set_description(oc, "its",
+ "Set on/off to enable/disable "
+ "ITS instantiation");
+
object_class_property_add_str(oc, "x-oem-id",
virt_get_oem_id,
virt_set_oem_id);
@@ -3182,11 +3188,6 @@ static void rhel_virt_instance_init(Object *obj)
} else {
/* Default allows ITS instantiation */
vms->its = true;
- object_property_add_bool(obj, "its", virt_get_its,
- virt_set_its);
- object_property_set_description(obj, "its",
- "Set on/off to enable/disable "
- "ITS instantiation");
}
/* Default disallows iommu instantiation */
--
2.27.0

View File

@ -0,0 +1,46 @@
From e896ba2bfbb613576ec3fbe5b948a326ac06193d Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
Date: Mon, 20 Dec 2021 15:58:38 +0100
Subject: [PATCH 3/6] hw/arm/virt: Rename default_bus_bypass_iommu
RH-Author: Eric Auger <eric.auger@redhat.com>
RH-MergeRequest: 95: hw/arm/virt: Add virt-rhel8.6.0 machine type
RH-Commit: [3/5] 3ed0425391dab7cf14c6e66fc1b2430be1152d6c
RH-Bugzilla: 2031039
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Andrew Jones <drjones@redhat.com>
RH-Acked-by: Gavin Shan <gshan@redhat.com>
branch: rhel-8.6.0
Brew: 42212069
Upstream: no
Rename "default_bus_bypass_iommu" into "default-bus-bypass-iommu".
This mirrors what was done in upstream commit:
9dad363a223 ("hw/arm/virt: Rename default_bus_bypass_iommu")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
hw/arm/virt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index d679391eb0..6a4173b6c3 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3136,10 +3136,10 @@ static void rhel_machine_class_init(ObjectClass *oc, void *data)
"Set the IOMMU type. "
"Valid values are none and smmuv3");
- object_class_property_add_bool(oc, "default_bus_bypass_iommu",
+ object_class_property_add_bool(oc, "default-bus-bypass-iommu",
virt_get_default_bus_bypass_iommu,
virt_set_default_bus_bypass_iommu);
- object_class_property_set_description(oc, "default_bus_bypass_iommu",
+ object_class_property_set_description(oc, "default-bus-bypass-iommu",
"Set on/off to enable/disable "
"bypass_iommu for default root bus");
--
2.27.0

View File

@ -1,62 +0,0 @@
From 1ed9669ab7ef35a592dd78636c60300466f9c71f Mon Sep 17 00:00:00 2001
From: Mauro Matteo Cascella <mcascell@redhat.com>
Date: Thu, 4 Nov 2021 17:31:38 +0100
Subject: [PATCH 2/2] hw/scsi/scsi-disk: MODE_PAGE_ALLS not allowed in MODE
SELECT commands
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Jon Maloy <jmaloy@redhat.com>
RH-MergeRequest: 69: hw/scsi/scsi-disk: MODE_PAGE_ALLS not allowed in MODE SELECT commands
RH-Commit: [1/1] 929b23f9ac50b3b1e6712c85018feee384a0ca19 (jmaloy/qemu-kvm)
RH-Bugzilla: 2020720
RH-Acked-by: Mauro Matteo Cascella <None>
RH-Acked-by: Hanna Reitz <hreitz@redhat.com>
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This avoids an off-by-one read of 'mode_sense_valid' buffer in
hw/scsi/scsi-disk.c:mode_sense_page().
Fixes: CVE-2021-3930
Cc: qemu-stable@nongnu.org
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Fixes: a8f4bbe2900 ("scsi-disk: store valid mode pages in a table")
Fixes: #546
Reported-by: Qiuhao Li <Qiuhao.Li@outlook.com>
Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit b3af7fdf9cc537f8f0dd3e2423d83f5c99a457e8)
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
---
hw/scsi/scsi-disk.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index e8a547dbb7..d4914178ea 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -1087,6 +1087,7 @@ static int mode_sense_page(SCSIDiskState *s, int page, uint8_t **p_outbuf,
uint8_t *p = *p_outbuf + 2;
int length;
+ assert(page < ARRAY_SIZE(mode_sense_valid));
if ((mode_sense_valid[page] & (1 << s->qdev.type)) == 0) {
return -1;
}
@@ -1428,6 +1429,11 @@ static int scsi_disk_check_mode_select(SCSIDiskState *s, int page,
return -1;
}
+ /* MODE_PAGE_ALLS is only valid for MODE SENSE commands */
+ if (page == MODE_PAGE_ALLS) {
+ return -1;
+ }
+
p = mode_current;
memset(mode_current, 0, inlen + 2);
len = mode_sense_page(s, page, &p, 0);
--
2.27.0

View File

@ -1,46 +0,0 @@
From ccb23fcac26e2a3712e2f25af6499a1d3b7e2882 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Fri, 10 Sep 2021 11:42:03 +0200
Subject: [PATCH 1/4] qxl: fix pre-save logic
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
RH-MergeRequest: 39: qxl: fix pre-save logic
RH-Commit: [1/1] 126b1a352c63805bd23f5eb704515090eedc04e7
RH-Bugzilla: 2002907
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-Acked-by: Marc-André Lureau <None>
Oops. Logic is backwards.
Fixes: 39b8a183e2f3 ("qxl: remove assert in qxl_pre_save.")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/610
Resolves: https://bugzilla.redhat.com//show_bug.cgi?id=2002907
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210910094203.3582378-1-kraxel@redhat.com>
(cherry picked from commit eb94846280df3f1e2a91b6179fc05f9890b7e384)
---
hw/display/qxl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 43482d4364..29c80b4289 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2252,7 +2252,7 @@ static int qxl_pre_save(void *opaque)
} else {
d->last_release_offset = (uint8_t *)d->last_release - ram_start;
}
- if (d->last_release_offset < d->vga.vram_size) {
+ if (d->last_release_offset >= d->vga.vram_size) {
return 1;
}
--
2.18.2

View File

@ -0,0 +1,69 @@
From 3541c9fc2c2dd5cf7dd583bc5645d82ea928d9e8 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Fri, 10 Dec 2021 10:07:40 +0100
Subject: [PATCH 1/2] redhat: Add rhel8.6.0 machine type for s390x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Thomas Huth <thuth@redhat.com>
RH-MergeRequest: 90: Add rhel8.6.0 machine type for s390x
RH-Commit: [1/1] 91961fc52d708e6b30d7361fbab3572c5b5c1859
RH-Bugzilla: 2005325
RH-Acked-by: Greg Kurz <gkurz@redhat.com>
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: David Hildenbrand <david@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2005325
The new machine type has better default values for the upcoming
"generation 16" mainframe.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index cf13c457d6..9795eb9406 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1103,10 +1103,21 @@ static void ccw_machine_2_4_class_options(MachineClass *mc)
DEFINE_CCW_MACHINE(2_4, "2.4", false);
#endif
+static void ccw_machine_rhel860_instance_options(MachineState *machine)
+{
+}
+
+static void ccw_machine_rhel860_class_options(MachineClass *mc)
+{
+}
+DEFINE_CCW_MACHINE(rhel860, "rhel8.6.0", true);
+
static void ccw_machine_rhel850_instance_options(MachineState *machine)
{
static const S390FeatInit qemu_cpu_feat = { S390_FEAT_LIST_QEMU_V6_0 };
+ ccw_machine_rhel860_instance_options(machine);
+
s390_set_qemu_cpu_model(0x2964, 13, 2, qemu_cpu_feat);
s390_cpudef_featoff_greater(16, 1, S390_FEAT_NNPA);
@@ -1118,10 +1129,11 @@ static void ccw_machine_rhel850_instance_options(MachineState *machine)
static void ccw_machine_rhel850_class_options(MachineClass *mc)
{
+ ccw_machine_rhel860_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
mc->smp_props.prefer_sockets = true;
}
-DEFINE_CCW_MACHINE(rhel850, "rhel8.5.0", true);
+DEFINE_CCW_MACHINE(rhel850, "rhel8.5.0", false);
static void ccw_machine_rhel840_instance_options(MachineState *machine)
{
--
2.27.0

View File

@ -1,44 +0,0 @@
From a3bcde27feff7156c24d79f88e171b9d90322575 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Thu, 30 Sep 2021 09:25:23 +0200
Subject: [PATCH 4/4] redhat: Add s390x machine type compatibility update for
6.1 rebase
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Thomas Huth <thuth@redhat.com>
RH-MergeRequest: 44: Add s390x machine type compatibility update for 6.1 rebase in RHEL 8.6
RH-Commit: [2/2] 13d855fd5dbeb1d67d0716e9f85384e7361d3f9d
RH-Bugzilla: 1998950
RH-Acked-by: Greg Kurz <gkurz@redhat.com>
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
Add hw_compat_rhel_8_5 for the s390-ccw-virtio-rhel8.5.0 machine
type. It's currently not urgently required, since hw_compat_rhel_8_5
only contains entries that are not related to s390x, but just in
case some other entries are added there later, it's better if we
add this right from the start to the s390x machine, too.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1998950
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/s390-virtio-ccw.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 18effb8f7a..1a1bac57a2 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -1091,6 +1091,7 @@ static void ccw_machine_rhel850_instance_options(MachineState *machine)
static void ccw_machine_rhel850_class_options(MachineClass *mc)
{
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5, hw_compat_rhel_8_5_len);
}
DEFINE_CCW_MACHINE(rhel850, "rhel8.5.0", true);
--
2.18.2

View File

@ -1,72 +0,0 @@
From 43c4b9bea61ab636fc495386877aa0da27649eea Mon Sep 17 00:00:00 2001
From: Greg Kurz <gkurz@redhat.com>
Date: Mon, 27 Sep 2021 10:02:46 +0200
Subject: [PATCH 2/4] redhat: Define hw_compat_rhel_8_5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Greg Kurz <gkurz@redhat.com>
RH-MergeRequest: 43: redhat: Add machine type compatibility update for 6.1 rebase [ppc64le]
RH-Commit: [1/2] d031e23ab1b97f13c1e24794caf950221487ee43
RH-Bugzilla: 1998949
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Acked-by: David Gibson (Red Hat) <dgibson@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
The QEMU 6.1 rebase changed the default value of some properties
for existing machine types. Prepare ground by introducing
hw_compat_rhel_8_5.
Signed-off-by: Greg Kurz <gkurz@redhat.com>
---
hw/core/machine.c | 17 +++++++++++++++++
include/hw/boards.h | 3 +++
2 files changed, 20 insertions(+)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 4601281b9c..6276c30161 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -37,6 +37,23 @@
#include "hw/virtio/virtio.h"
#include "hw/virtio/virtio-pci.h"
+/*
+ * Mostly the same as hw_compat_6_0
+ */
+GlobalProperty hw_compat_rhel_8_5[] = {
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "gpex-pcihost", "allow-unmapped-accesses", "false" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "i8042", "extended-state", "false"},
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "nvme-ns", "eui64-default", "off"},
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "e1000", "init-vet", "off" },
+ /* hw_compat_rhel_8_5 from hw_compat_6_0 */
+ { "e1000e", "init-vet", "off" },
+};
+const size_t hw_compat_rhel_8_5_len = G_N_ELEMENTS(hw_compat_rhel_8_5);
+
/*
* Mostly the same as hw_compat_5_2
*/
diff --git a/include/hw/boards.h b/include/hw/boards.h
index b860b30c13..b35cb3413a 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -418,6 +418,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;
+extern GlobalProperty hw_compat_rhel_8_5[];
+extern const size_t hw_compat_rhel_8_5_len;
+
extern GlobalProperty hw_compat_rhel_8_4[];
extern const size_t hw_compat_rhel_8_4_len;
--
2.18.2

View File

@ -0,0 +1,76 @@
From 300cdf7f5b8b34e111c5e4141684af7329be46d9 Mon Sep 17 00:00:00 2001
From: Greg Kurz <gkurz@redhat.com>
Date: Mon, 13 Dec 2021 15:42:41 +0100
Subject: [PATCH 2/2] redhat: Define pseries-rhel8.6.0 machine type
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Greg Kurz <gkurz@redhat.com>
RH-MergeRequest: 92: redhat: Define pseries-rhel8.6.0 machine type
RH-Commit: [1/1] 3c0f59d7ddf4bb22f382b5df7daa136730b9e866
RH-Bugzilla: 2031041
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
RH-Acked-by: David Gibson (Red Hat) <dgibson@redhat.com>
RH-Acked-by: Thomas Huth <thuth@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2031041
BRANCH: rhel-8.6.0
UPSTREAM: RHEL only
BREW: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=41989147
Signed-off-by: Greg Kurz <gkurz@redhat.com>
---
hw/ppc/spapr.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 2f27888d8a..32cfe8f006 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -5170,6 +5170,19 @@ static void spapr_machine_rhel_default_class_options(MachineClass *mc)
mc->max_cpus = 384;
}
+/*
+ * pseries-rhel8.6.0
+ * like pseries-6.2
+ */
+
+static void spapr_machine_rhel860_class_options(MachineClass *mc)
+{
+ /* The default machine type must apply the RHEL specific defaults */
+ spapr_machine_rhel_default_class_options(mc);
+}
+
+DEFINE_SPAPR_MACHINE(rhel860, "rhel8.6.0", true);
+
/*
* pseries-rhel8.5.0
* like pseries-6.0
@@ -5179,15 +5192,14 @@ static void spapr_machine_rhel850_class_options(MachineClass *mc)
{
SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
- /* The default machine type must apply the RHEL specific defaults */
- spapr_machine_rhel_default_class_options(mc);
+ spapr_machine_rhel860_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_rhel_8_5,
hw_compat_rhel_8_5_len);
smc->pre_6_2_numa_affinity = true;
mc->smp_props.prefer_sockets = true;
}
-DEFINE_SPAPR_MACHINE(rhel850, "rhel8.5.0", true);
+DEFINE_SPAPR_MACHINE(rhel850, "rhel8.5.0", false);
/*
* pseries-rhel8.4.0
--
2.27.0

View File

@ -1,42 +0,0 @@
From c8f68b47e9390bf44c75f4ee0ebb17a6d4c3dff2 Mon Sep 17 00:00:00 2001
From: Greg Kurz <gkurz@redhat.com>
Date: Mon, 27 Sep 2021 11:14:06 +0200
Subject: [PATCH 3/4] redhat: Update pseries-rhel8.5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Greg Kurz <gkurz@redhat.com>
RH-MergeRequest: 43: redhat: Add machine type compatibility update for 6.1 rebase [ppc64le]
RH-Commit: [2/2] f029c1e6a3651c0436d8ea219335eddb0da0ee35
RH-Bugzilla: 1998949
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Acked-by: David Gibson (Red Hat) <dgibson@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
Fix the default property values back to what they were before the
6.1 rebase. Now new pseries specific properties were added upstream
so we just have to wire up hw_compat_rhel_8_5.
Signed-off-by: Greg Kurz <gkurz@redhat.com>
---
hw/ppc/spapr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 8f6bc88aa9..261d404c35 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -5184,6 +5184,8 @@ static void spapr_machine_rhel850_class_options(MachineClass *mc)
{
/* The default machine type must apply the RHEL specific defaults */
spapr_machine_rhel_default_class_options(mc);
+ compat_props_add(mc->compat_props, hw_compat_rhel_8_5,
+ hw_compat_rhel_8_5_len);
}
DEFINE_SPAPR_MACHINE(rhel850, "rhel8.5.0", true);
--
2.18.2

View File

@ -0,0 +1,52 @@
From 0f0cbd57a8fe8f463941656f5bc75ae5754c3d2b Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 7 Dec 2021 18:39:47 +0000
Subject: [PATCH 6/6] rhel machine types/x86: set prefer_sockets
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-MergeRequest: 96: Fixup x86 prefer_sockets
RH-Commit: [1/1] 29578bcc2f5d3408c155c155cdfa10b7a12faf4d
RH-Bugzilla: 2029582
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
RH-Acked-by: quintela1 <quintela@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
When I fixed up the machine types for 8.5 I missed the
prefer_sockets = true
add them in; it looks like Power, ARM already have them, and I see them
in thuth's s390 patch.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
hw/i386/pc_piix.c | 1 +
hw/i386/pc_q35.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 37fab00733..c30057c443 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -1020,6 +1020,7 @@ static void pc_machine_rhel7_options(MachineClass *m)
compat_props_add(m->compat_props, pc_rhel_compat, pc_rhel_compat_len);
m->alias = "pc";
m->is_default = 1;
+ m->smp_props.prefer_sockets = true;
}
static void pc_init_rhel760(MachineState *machine)
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 78876e1101..f6e77bca0e 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -662,6 +662,7 @@ static void pc_q35_machine_rhel850_options(MachineClass *m)
hw_compat_rhel_8_5_len);
compat_props_add(m->compat_props, pc_rhel_8_5_compat,
pc_rhel_8_5_compat_len);
+ m->smp_props.prefer_sockets = true;
}
DEFINE_PC_MACHINE(q35_rhel850, "pc-q35-rhel8.5.0", pc_q35_init_rhel850,
--
2.27.0

View File

@ -1,136 +0,0 @@
From c21488ecfff60d0acd0e8ced19f94b3ac050f945 Mon Sep 17 00:00:00 2001
From: Jason Wang <jasowang@redhat.com>
Date: Thu, 2 Sep 2021 13:44:12 +0800
Subject: [PATCH] virtio-net: fix use after unmap/free for sg
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Jon Maloy <jmaloy@redhat.com>
RH-MergeRequest: 45: virtio-net: fix use after unmap/free for sg
RH-Commit: [1/1] 85cd1f4894f9584a11b797303139be479ce9781d (jmaloy/qemu-kvm)
RH-Bugzilla: 1999221
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com>
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
When mergeable buffer is enabled, we try to set the num_buffers after
the virtqueue elem has been unmapped. This will lead several issues,
E.g a use after free when the descriptor has an address which belongs
to the non direct access region. In this case we use bounce buffer
that is allocated during address_space_map() and freed during
address_space_unmap().
Fixing this by storing the elems temporarily in an array and delay the
unmap after we set the the num_buffers.
This addresses CVE-2021-3748.
Reported-by: Alexander Bulekov <alxndr@bu.edu>
Fixes: fbe78f4f55c6 ("virtio-net support")
Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit bedd7e93d01961fcb16a97ae45d93acf357e11f6)
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
---
hw/net/virtio-net.c | 39 ++++++++++++++++++++++++++++++++-------
1 file changed, 32 insertions(+), 7 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 16d20cdee5..f205331dcf 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1746,10 +1746,13 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
VirtIONet *n = qemu_get_nic_opaque(nc);
VirtIONetQueue *q = virtio_net_get_subqueue(nc);
VirtIODevice *vdev = VIRTIO_DEVICE(n);
+ VirtQueueElement *elems[VIRTQUEUE_MAX_SIZE];
+ size_t lens[VIRTQUEUE_MAX_SIZE];
struct iovec mhdr_sg[VIRTQUEUE_MAX_SIZE];
struct virtio_net_hdr_mrg_rxbuf mhdr;
unsigned mhdr_cnt = 0;
- size_t offset, i, guest_offset;
+ size_t offset, i, guest_offset, j;
+ ssize_t err;
if (!virtio_net_can_receive(nc)) {
return -1;
@@ -1780,6 +1783,12 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
total = 0;
+ if (i == VIRTQUEUE_MAX_SIZE) {
+ virtio_error(vdev, "virtio-net unexpected long buffer chain");
+ err = size;
+ goto err;
+ }
+
elem = virtqueue_pop(q->rx_vq, sizeof(VirtQueueElement));
if (!elem) {
if (i) {
@@ -1791,7 +1800,8 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
n->guest_hdr_len, n->host_hdr_len,
vdev->guest_features);
}
- return -1;
+ err = -1;
+ goto err;
}
if (elem->in_num < 1) {
@@ -1799,7 +1809,8 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
"virtio-net receive queue contains no in buffers");
virtqueue_detach_element(q->rx_vq, elem, 0);
g_free(elem);
- return -1;
+ err = -1;
+ goto err;
}
sg = elem->in_sg;
@@ -1836,12 +1847,13 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
if (!n->mergeable_rx_bufs && offset < size) {
virtqueue_unpop(q->rx_vq, elem, total);
g_free(elem);
- return size;
+ err = size;
+ goto err;
}
- /* signal other side */
- virtqueue_fill(q->rx_vq, elem, total, i++);
- g_free(elem);
+ elems[i] = elem;
+ lens[i] = total;
+ i++;
}
if (mhdr_cnt) {
@@ -1851,10 +1863,23 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
&mhdr.num_buffers, sizeof mhdr.num_buffers);
}
+ for (j = 0; j < i; j++) {
+ /* signal other side */
+ virtqueue_fill(q->rx_vq, elems[j], lens[j], j);
+ g_free(elems[j]);
+ }
+
virtqueue_flush(q->rx_vq, i);
virtio_notify(vdev, q->rx_vq);
return size;
+
+err:
+ for (j = 0; j < i; j++) {
+ g_free(elems[j]);
+ }
+
+ return err;
}
static ssize_t virtio_net_do_receive(NetClientState *nc, const uint8_t *buf,
--
2.18.2

View File

@ -0,0 +1,68 @@
From 31530bf621dc28689142ffa83d025ec4a4f110c1 Mon Sep 17 00:00:00 2001
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 11 Jan 2022 18:29:31 +0000
Subject: [PATCH 2/2] x86: Add q35 RHEL 8.6.0 machine type
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
RH-MergeRequest: 99: x86: Add q35 RHEL 8.6.0 machine type
RH-Commit: [1/1] a694724b6fa972e312bb76b5569bc979d6c596ef
RH-Bugzilla: 2031035
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
Add the new 8.6.0 machine type; note that while the -AV
notation has gone in the product naming, just keep the smbios
definitions the same for consistency.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
hw/i386/pc_q35.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index f6e77bca0e..5559261d9e 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -646,6 +646,24 @@ static void pc_q35_machine_rhel_options(MachineClass *m)
compat_props_add(m->compat_props, pc_rhel_compat, pc_rhel_compat_len);
}
+static void pc_q35_init_rhel860(MachineState *machine)
+{
+ pc_q35_init(machine);
+}
+
+static void pc_q35_machine_rhel860_options(MachineClass *m)
+{
+ PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
+ pc_q35_machine_rhel_options(m);
+ m->desc = "RHEL-8.6.0 PC (Q35 + ICH9, 2009)";
+ pcmc->smbios_stream_product = "RHEL-AV";
+ pcmc->smbios_stream_version = "8.6.0";
+}
+
+DEFINE_PC_MACHINE(q35_rhel860, "pc-q35-rhel8.6.0", pc_q35_init_rhel860,
+ pc_q35_machine_rhel860_options);
+
+
static void pc_q35_init_rhel850(MachineState *machine)
{
pc_q35_init(machine);
@@ -654,8 +672,9 @@ static void pc_q35_init_rhel850(MachineState *machine)
static void pc_q35_machine_rhel850_options(MachineClass *m)
{
PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
- pc_q35_machine_rhel_options(m);
+ pc_q35_machine_rhel860_options(m);
m->desc = "RHEL-8.5.0 PC (Q35 + ICH9, 2009)";
+ m->alias = NULL;
pcmc->smbios_stream_product = "RHEL-AV";
pcmc->smbios_stream_version = "8.5.0";
compat_props_add(m->compat_props, hw_compat_rhel_8_5,
--
2.27.0

View File

@ -5,7 +5,7 @@
%global have_usbredir 1
%global have_spice 1
%global have_opengl 1
%global have_fdt 0
%global have_fdt 1
%global have_gluster 1
%global have_kvm_setup 0
%global have_memlock_limits 0
@ -41,7 +41,6 @@
%endif
%ifarch %{power64}
%global kvm_target ppc64
%global have_fdt 1
%global have_kvm_setup 1
%global have_memlock_limits 1
%endif
@ -51,11 +50,9 @@
%endif
%ifarch ppc
%global kvm_target ppc
%global have_fdt 1
%endif
%ifarch aarch64
%global kvm_target aarch64
%global have_fdt 1
%endif
#Versions of various parts:
@ -85,7 +82,7 @@ Obsoletes: %1-rhev <= %{epoch}:%{version}-%{release}
Summary: QEMU is a machine emulator and virtualizer
Name: qemu-kvm
Version: 6.1.0
Version: 6.2.0
Release: 5%{?rcrel}%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 15
@ -95,7 +92,7 @@ URL: http://www.qemu.org/
ExclusiveArch: x86_64 %{power64} aarch64 s390x
Source0: http://wiki.qemu.org/download/qemu-6.1.0.tar.xz
Source0: http://wiki.qemu.org/download/qemu-6.2.0.tar.xz
# KSM control scripts
Source4: ksm.service
@ -138,27 +135,38 @@ Patch0015: 0015-globally-limit-the-maximum-number-of-CPUs.patch
Patch0016: 0016-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch
Patch0017: 0017-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch
Patch0018: 0018-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch
# For bz#2002907 - Unexpectedly failed when managedsave the guest which has qxl video device
Patch19: kvm-qxl-fix-pre-save-logic.patch
# For bz#1998949 - Add machine type compatibility update for 6.1 rebase [ppc64le]
Patch20: kvm-redhat-Define-hw_compat_rhel_8_5.patch
# For bz#1998949 - Add machine type compatibility update for 6.1 rebase [ppc64le]
Patch21: kvm-redhat-Update-pseries-rhel8.5.0.patch
# For bz#1998950 - Add machine type compatibility update for 6.1 rebase [s390x]
Patch22: kvm-redhat-Add-s390x-machine-type-compatibility-update-f.patch
# For bz#1999221 - CVE-2021-3748 virt:rhel/qemu-kvm: QEMU: virtio-net: heap use-after-free in virtio_net_receive_rcu [rhel-8]
Patch23: kvm-virtio-net-fix-use-after-unmap-free-for-sg.patch
# For bz#1998947 - Add machine type compatibility update for 6.1 rebase [aarch64]
Patch25: kvm-hw-arm-virt-Add-hw_compat_rhel_8_5-to-8.5-machine-ty.patch
# For bz#1930092 - CVE-2021-20257 virt:rhel/qemu-kvm: QEMU: net: e1000: infinite loop while processing transmit descriptors [rhel-8.5.0]
Patch26: kvm-e1000-fix-tx-re-entrancy-problem.patch
# For bz#2020720 - CVE-2021-3930 virt:rhel/qemu-kvm: QEMU: off-by-one error in mode_sense_page() in hw/scsi/scsi-disk.c [rhel-8]
Patch27: kvm-hw-scsi-scsi-disk-MODE_PAGE_ALLS-not-allowed-in-MODE.patch
Patch0019: 0019-compat-Update-hw_compat_rhel_8_5.patch
Patch0020: 0020-redhat-Update-pseries-rhel8.5.0-machine-type.patch
Patch0021: 0021-redhat-virt-rhel8.5.0-Update-machine-type-compatibil.patch
Patch0022: 0022-Fix-virtio-net-pci-vectors-compat.patch
Patch0023: 0023-x86-rhel-machine-types-Add-pc_rhel_8_5_compat.patch
Patch0024: 0024-x86-rhel-machine-types-Wire-compat-into-q35-and-i440.patch
Patch0025: 0025-redhat-Add-s390x-machine-type-compatibility-handling.patch
# For bz#2005325 - Fix CPU Model for new IBM Z Hardware - qemu part
Patch26: kvm-redhat-Add-rhel8.6.0-machine-type-for-s390x.patch
# For bz#2031041 - Add rhel-8.6.0 machine types for RHEL 8.6 [ppc64le]
Patch27: kvm-redhat-Define-pseries-rhel8.6.0-machine-type.patch
# For bz#2031039 - Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64]
Patch28: kvm-hw-arm-virt-Register-iommu-as-a-class-property.patch
# For bz#2031039 - Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64]
Patch29: kvm-hw-arm-virt-Register-its-as-a-class-property.patch
# For bz#2031039 - Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64]
Patch30: kvm-hw-arm-virt-Rename-default_bus_bypass_iommu.patch
# For bz#2031039 - Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64]
Patch31: kvm-hw-arm-virt-Add-8.6-machine-type.patch
# For bz#2031039 - Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64]
Patch32: kvm-hw-arm-virt-Check-no_tcg_its-and-minor-style-changes.patch
# For bz#2029582 - [8.6] machine types: 6.2: Fix prefer_sockets
Patch33: kvm-rhel-machine-types-x86-set-prefer_sockets.patch
# For bz#2036580 - CVE-2021-4158 virt:rhel/qemu-kvm: QEMU: NULL pointer dereference in pci_write() in hw/acpi/pcihp.c [rhel-8]
Patch34: kvm-acpi-validate-hotplug-selector-on-access.patch
# For bz#2031035 - Add rhel-8.6.0 machine types for RHEL 8.6 [x86]
Patch35: kvm-x86-Add-q35-RHEL-8.6.0-machine-type.patch
BuildRequires: wget
BuildRequires: rpm-build
BuildRequires: ninja-build
BuildRequires: meson >= 0.55.3-3
#BuildRequires: meson >= 0.58.2
BuildRequires: zlib-devel
BuildRequires: glib2-devel
BuildRequires: which
@ -500,6 +508,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
%define disable_everything \\\
--disable-alsa \\\
--disable-attr \\\
--disable-auth-pam \\\
--disable-avx2 \\\
@ -515,6 +524,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
--disable-cfi-debug \\\
--disable-cloop \\\
--disable-cocoa \\\
--disable-coreaudio \\\
--disable-coroutine-pool \\\
--disable-crypto-afalg \\\
--disable-curl \\\
@ -524,10 +534,12 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
--disable-debug-tcg \\\
--disable-dmg \\\
--disable-docs \\\
--disable-dsound \\\
--disable-fdt \\\
--disable-fuse \\\
--disable-fuse-lseek \\\
--disable-gcrypt \\\
--disable-gettext \\\
--disable-gio \\\
--disable-glusterfs \\\
--disable-gnutls \\\
@ -537,8 +549,9 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
--disable-hax \\\
--disable-hvf \\\
--disable-iconv \\\
--disable-jemalloc \\\
--disable-jack \\\
--disable-kvm \\\
--disable-l2tpv3 \\\
--disable-libdaxctl \\\
--disable-libiscsi \\\
--disable-libnfs \\\
@ -565,6 +578,8 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
--disable-numa \\\
--disable-nvmm \\\
--disable-opengl \\\
--disable-oss \\\
--disable-pa \\\
--disable-parallels \\\
--disable-pie \\\
--disable-pvrdma \\\
@ -580,15 +595,16 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
--disable-sdl \\\
--disable-sdl-image \\\
--disable-seccomp \\\
--disable-selinux \\\
--disable-slirp-smbd \\\
--disable-smartcard \\\
--disable-snappy \\\
--disable-sparse \\\
--disable-spice \\\
--disable-spice-protocol \\\
--disable-strip \\\
--disable-system \\\
--disable-tcg \\\
--disable-tcmalloc \\\
--disable-tools \\\
--disable-tpm \\\
--disable-u2f \\\
@ -637,7 +653,7 @@ pushd %{qemu_kvm_build}
--with-pkgversion="%{name}-%{version}-%{release}" \
--with-suffix="%{name}" \
--firmwarepath=%{_prefix}/share/qemu-firmware \
--meson="%{__meson}" \
--meson="git" \
--target-list="%{buildarch}" \
--block-drv-rw-whitelist=%{block_drivers_list} \
--audio-drv-list= \
@ -651,13 +667,13 @@ pushd %{qemu_kvm_build}
--enable-avx2 \
%endif
--enable-cap-ng \
--enable-capstone \
--enable-capstone=internal \
--enable-coroutine-pool \
--enable-curl \
--enable-debug-info \
--enable-docs \
%if 0%{have_fdt}
--enable-fdt \
--enable-fdt=system \
%endif
--enable-gcrypt \
%if 0%{have_gluster}
@ -695,6 +711,7 @@ pushd %{qemu_kvm_build}
%if 0%{have_spice}
--enable-smartcard \
--enable-spice \
--enable-spice-protocol \
%endif
--enable-system \
--enable-tcg \
@ -782,7 +799,7 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
# Create new directories and put them all under tests-src
mkdir -p $RPM_BUILD_ROOT%{testsdir}/python
mkdir -p $RPM_BUILD_ROOT%{testsdir}/tests
mkdir -p $RPM_BUILD_ROOT%{testsdir}/tests/acceptance
mkdir -p $RPM_BUILD_ROOT%{testsdir}/tests/avocado
mkdir -p $RPM_BUILD_ROOT%{testsdir}/tests/qemu-iotests
mkdir -p $RPM_BUILD_ROOT%{testsdir}/scripts/qmp
@ -793,7 +810,7 @@ install -m 0644 scripts/dump-guest-memory.py \
$RPM_BUILD_ROOT%{_datadir}/%{name}
# Install avocado_qemu tests
cp -R tests/acceptance/* $RPM_BUILD_ROOT%{testsdir}/tests/acceptance/
cp -R tests/avocado/* $RPM_BUILD_ROOT%{testsdir}/tests/avocado/
# Install qemu.py and qmp/ scripts required to run avocado_qemu tests
cp -R python/qemu $RPM_BUILD_ROOT%{testsdir}/python
@ -957,6 +974,7 @@ rm -rf ${RPM_BUILD_ROOT}%{_mandir}/man1/virtfs-proxy-helper*
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/kvmvapic.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/linuxboot.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/multiboot.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/multiboot_dma.bin
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pvh.bin
%endif
@ -1168,6 +1186,7 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules &> /dev/null || :
%{_datadir}/%{name}/bios-256k.bin
%{_datadir}/%{name}/linuxboot.bin
%{_datadir}/%{name}/multiboot.bin
%{_datadir}/%{name}/multiboot_dma.bin
%{_datadir}/%{name}/kvmvapic.bin
%{_datadir}/%{name}/sgabios.bin
%{_datadir}/%{name}/pvh.bin
@ -1308,6 +1327,38 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules &> /dev/null || :
%changelog
* Tue Jan 25 2022 Jon Maloy <jmaloy@redhat.com> - 6.2.0-5
- kvm-acpi-validate-hotplug-selector-on-access.patch [bz#2036580]
- kvm-x86-Add-q35-RHEL-8.6.0-machine-type.patch [bz#2031035]
- Resolves: bz#2036580
(CVE-2021-4158 virt:rhel/qemu-kvm: QEMU: NULL pointer dereference in pci_write() in hw/acpi/pcihp.c [rhel-8])
- Resolves: bz#2031035
(Add rhel-8.6.0 machine types for RHEL 8.6 [x86])
* Mon Jan 17 2022 Jon Maloy <jmaloy@redhat.com> - 6.2.0-4
- kvm-hw-arm-virt-Register-iommu-as-a-class-property.patch [bz#2031039]
- kvm-hw-arm-virt-Register-its-as-a-class-property.patch [bz#2031039]
- kvm-hw-arm-virt-Rename-default_bus_bypass_iommu.patch [bz#2031039]
- kvm-hw-arm-virt-Add-8.6-machine-type.patch [bz#2031039]
- kvm-hw-arm-virt-Check-no_tcg_its-and-minor-style-changes.patch [bz#2031039]
- kvm-rhel-machine-types-x86-set-prefer_sockets.patch [bz#2029582]
- Resolves: bz#2031039
(Add rhel-8.6.0 machine types for RHEL 8.6 [aarch64])
- Resolves: bz#2029582
([8.6] machine types: 6.2: Fix prefer_sockets)
* Mon Jan 03 2022 Jon Maloy <jmaloy@redhat.com> - 6.2.0-2
- kvm-redhat-Add-rhel8.6.0-machine-type-for-s390x.patch [bz#2005325]
- kvm-redhat-Define-pseries-rhel8.6.0-machine-type.patch [bz#2031041]
- Resolves: bz#2005325
(Fix CPU Model for new IBM Z Hardware - qemu part)
- Resolves: bz#2031041
(Add rhel-8.6.0 machine types for RHEL 8.6 [ppc64le])
* Thu Dec 16 2021 Jon Maloy <jmaloy@redhat.com> - 6.2.0-1.el8
- Rebase to qemu-kvm 6.2.0
- Resolves bz#2027716
* Mon Nov 22 2021 Jon Maloy <jmaloy@redhat.com> - 6.1.0-5
- kvm-e1000-fix-tx-re-entrancy-problem.patch [bz#1930092]
- kvm-hw-scsi-scsi-disk-MODE_PAGE_ALLS-not-allowed-in-MODE.patch [bz#2020720]
@ -1341,9 +1392,13 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules &> /dev/null || :
- Resolves: bz#1998950
(Add machine type compatibility update for 6.1 rebase [s390x])
* Wed Sep 08 2021 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 6.1.0-1.el8
- Rebase qemu-kvm 6.1.0
- Resolves bz#1997410
* Wed Aug 25 2021 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 6.0.0-29.el8
- kvm-file-posix-Cap-max_iov-at-IOV_MAX.patch [bz#1994494]
- kvm-migration-Move-yank-outside-qemu_start_incoming_migr.patch [bz#1974366]
- Resolves: bz#1994494
(VM remains in paused state when trying to write on a resized disk resides on iscsi)
- Resolves: bz#1974366
(Fail to set migrate incoming for 2nd time after the first time failed)
* Wed Aug 18 2021 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 6.0.0-28.el8
- kvm-iotests-Improve-and-rename-test-291-to-qemu-img-bitm.patch [bz#1946084]