diff --git a/.gitignore b/.gitignore index 558e0ee..f5dae2e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/qemu-6.1.0.tar.xz +SOURCES/qemu-6.2.0.tar.xz diff --git a/.qemu-kvm.metadata b/.qemu-kvm.metadata index 1cd8296..6f39e05 100644 --- a/.qemu-kvm.metadata +++ b/.qemu-kvm.metadata @@ -1 +1 @@ -aae5ef7761b5f2fc45f0076219f1249da86f94b5 SOURCES/qemu-6.1.0.tar.xz +68cd61a466170115b88817e2d52db2cd7a92f43a SOURCES/qemu-6.2.0.tar.xz diff --git a/SOURCES/0001-ui-clipboard-Don-t-use-g_autoptr-just-to-free-a-vari.patch b/SOURCES/0001-ui-clipboard-Don-t-use-g_autoptr-just-to-free-a-vari.patch new file mode 100644 index 0000000..5dcba33 --- /dev/null +++ b/SOURCES/0001-ui-clipboard-Don-t-use-g_autoptr-just-to-free-a-vari.patch @@ -0,0 +1,49 @@ +From cc2f3e2ce9e2a9ab9e52e8f44bee4876e69843da Mon Sep 17 00:00:00 2001 +From: John Snow +Date: Wed, 17 Nov 2021 09:51:46 -0500 +Subject: ui/clipboard: Don't use g_autoptr just to free a variable + +Clang doesn't recognize that the variable is being "used" and will emit +a warning: + + ../ui/clipboard.c:47:34: error: variable 'old' set but not used [-Werror,-Wunused-but-set-variable] + g_autoptr(QemuClipboardInfo) old = NULL; + ^ + 1 error generated. + +OK, fine. Just do things the old way. + +Signed-off-by: John Snow +Signed-off-by: Miroslav Rezanina + +--- + +This is temporary commit from upstream submission necessary for build to pass. +We expect proper fix included upstream later. +--- + ui/clipboard.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ui/clipboard.c b/ui/clipboard.c +index d7b008d62a..d53576b0f6 100644 +--- a/ui/clipboard.c ++++ b/ui/clipboard.c +@@ -44,13 +44,14 @@ void qemu_clipboard_peer_release(QemuClipboardPeer *peer, + + void qemu_clipboard_update(QemuClipboardInfo *info) + { +- g_autoptr(QemuClipboardInfo) old = NULL; ++ QemuClipboardInfo *old = NULL; + assert(info->selection < QEMU_CLIPBOARD_SELECTION__COUNT); + + notifier_list_notify(&clipboard_notifiers, info); + + old = cbinfo[info->selection]; + cbinfo[info->selection] = qemu_clipboard_info_ref(info); ++ g_free(old); + } + + QemuClipboardInfo *qemu_clipboard_info(QemuClipboardSelection selection) +-- +2.27.0 + diff --git a/SOURCES/0004-Initial-redhat-build.patch b/SOURCES/0005-Initial-redhat-build.patch similarity index 82% rename from SOURCES/0004-Initial-redhat-build.patch rename to SOURCES/0005-Initial-redhat-build.patch index 94653b6..3ff2dce 100644 --- a/SOURCES/0004-Initial-redhat-build.patch +++ b/SOURCES/0005-Initial-redhat-build.patch @@ -1,4 +1,4 @@ -From 4a0a5d5019938a8b4b5526d33e1bf3d7dcfc56a5 Mon Sep 17 00:00:00 2001 +From 3308eb892f03c7169f712fe88e74dacd6f05b1fe Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Wed, 26 May 2021 10:56:02 +0200 Subject: Initial redhat build @@ -13,36 +13,35 @@ several issues are fixed in QEMU tree: We disable make check due to issues with some of the tests. -This rebase is based on qemu-kvm-5.2.0-13.el9 +This rebase is based on qemu-kvm-6.1.0-8.el9 Signed-off-by: Miroslav Rezanina -- -Rebase changes (210526): +Rebase changes (6.1.0): - Move build to .distro - Move changes for support file to related commit - Added dependency for python3-sphinx-rtd_theme - Removed --disable-sheepdog configure option - Added new hw-display modules - -Rebase changes (210623): - SASL initialization moved to ui/vnc-auth-sasl.c - -Rebase changes (210714): - Add accel-qtest- and accel-tcg-x86_64 libraries - -Rebase changes (6.1.0 rc1): - Added hw-usb-host module - -Rebase changes (6.1.0 rc4): - Disable new configure options (bpf, nvmm, slirp-smbd) - -Rebase chagnes (6.1.0): - Use -pie for ksmctl build (annocheck complain fix) +Rebase changes (6.2.0): +- 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 +- Add -Wno-string-plus-int to extra flags +- Updated configure options + Merged patches (6.0.0): - 605758c902 Limit build on Power to qemu-img and qemu-ga only -Merged patches (6.1.0 RC1): +Merged patches (6.1.0): - f04f91751f Use cached tarballs - 6581165c65 Remove message with running VM count - 03c3cac9fc spec-file: build qemu-kvm without SPICE and QXL @@ -92,11 +91,7 @@ Merged patches (6.1.0 RC1): - d7ee259a79 spec: %files: don't use fine grained -docs file list - 64cad0c60f spec: %files: Add licenses to qemu-common too - c3de4f080a spec: %install: Drop python3 shebang fixup - -Merged patches (6.1.0 RC2): - 46fc216115 Update local build to work with spec file improvements - -Merged patches (6.1.0 RC3): - bab9531548 spec: Remove buildldflags - c8360ab6a9 spec: Use %make_build macro - f6966c66e9 spec: Drop make install sharedir and datadir usage @@ -106,39 +101,73 @@ Merged patches (6.1.0 RC3): - 44c7dda6c3 spec: use %{build_ldflags} - 0009a34354 Move virtiofsd to separate package - 34d1b200b3 Utilize --firmware configure option - -Merged patches (6.1.0): - 2800e1dd03 spec: Switch toolchain to Clang/LLVM (except process-patches.sh) - e8a70f500f spec: Use safe-stack for x86_64 - e29445d50d spec: Reenable write support for VMDK etc. in tools - a4fe2a3e16 redhat: Disable LTO on non-x86 architectures -fixes +Merged patches (6.2.0): +- 333452440b remove sgabios dependency +- 7d3633f184 enable pulseaudio +- bd898709b0 spec: disable use of gcrypt for crypto backends in favour of gnutls +- e4f0c6dee6 spec: Remove block-curl and block-ssh dependency +- 4dc13bfe63 spec: Build the VDI block driver +- d2f2ff3c74 spec: Explicitly include compress filter +- a7d047f9c2 Move ksmtuned files to separate package + +With rebase new configure options are introducesed. We use two steps +configuration - first we disable all options and then enable supported +options. + +With 6.2.0, following changes are done: +- disabled all audiodev and enable only pa + - not use audio-drv-list anymore + - disabling oss driver removes oss module (added during rebase to 6.2.0) +- disable gettext +- disable l2tpv3 +- enable selinux +- enable spice-protocol + - added needed BuildRequire +- specify used capstone version +- specify used fdt version + +Signed-off-by: Miroslav Rezanina --- .distro/85-kvm.preset | 5 - .distro/Makefile | 100 + - .distro/Makefile.common | 45 + + .distro/Makefile.common | 38 + .distro/README.tests | 39 + + .distro/ksm.service | 13 - + .distro/ksm.sysconfig | 4 - + .distro/ksmctl.c | 77 - + .distro/ksmtuned | 139 - + .distro/ksmtuned.conf | 21 - + .distro/ksmtuned.service | 12 - .distro/kvm-setup | 49 - .distro/kvm-setup.service | 14 - .distro/modules-load.conf | 4 + .distro/qemu-guest-agent.service | 1 - - .distro/qemu-kvm.spec.template | 3767 +++++++++++++++++++++++ + .distro/qemu-kvm.spec.template | 3817 +++++++++++++++++++++++ .distro/scripts/extract_build_cmd.py | 12 + .gitignore | 1 + README.systemtap | 43 + - configure | 1 - - meson.build | 6 +- + meson.build | 4 +- scripts/qemu-guest-agent/fsfreeze-hook | 2 +- scripts/systemtap/conf.d/qemu_kvm.conf | 4 + scripts/systemtap/script.d/qemu_kvm.stp | 1 + tests/check-block.sh | 2 + ui/vnc-auth-sasl.c | 2 +- - 19 files changed, 4024 insertions(+), 74 deletions(-) + 24 files changed, 4066 insertions(+), 338 deletions(-) delete mode 100644 .distro/85-kvm.preset create mode 100644 .distro/Makefile create mode 100644 .distro/Makefile.common create mode 100644 .distro/README.tests + delete mode 100644 .distro/ksm.service + delete mode 100644 .distro/ksm.sysconfig + delete mode 100644 .distro/ksmctl.c + delete mode 100644 .distro/ksmtuned + delete mode 100644 .distro/ksmtuned.conf + delete mode 100644 .distro/ksmtuned.service delete mode 100644 .distro/kvm-setup delete mode 100644 .distro/kvm-setup.service create mode 100644 .distro/modules-load.conf @@ -196,31 +225,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..b0dbdded06 100755 ---- a/configure -+++ b/configure -@@ -5189,7 +5189,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/meson.build b/meson.build -index b3e7ec0e92..17707c8748 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' ] : []), -+ [ '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. diff --git a/SOURCES/0005-Enable-disable-devices-for-RHEL.patch b/SOURCES/0006-Enable-disable-devices-for-RHEL.patch similarity index 93% rename from SOURCES/0005-Enable-disable-devices-for-RHEL.patch rename to SOURCES/0006-Enable-disable-devices-for-RHEL.patch index 6ef5467..345bd20 100644 --- a/SOURCES/0005-Enable-disable-devices-for-RHEL.patch +++ b/SOURCES/0006-Enable-disable-devices-for-RHEL.patch @@ -1,4 +1,4 @@ -From 0818ec19b1626de85d061b240e0c369a6fb524fb Mon Sep 17 00:00:00 2001 +From af4c83ed637bfda003ae86133413d53cefda3654 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Thu, 15 Jul 2021 03:22:36 -0400 Subject: Enable/disable devices for RHEL @@ -7,29 +7,30 @@ This commit adds all changes related to changes in supported devices. Signed-off-by: Miroslav Rezanina -- -Rebase notes (210623): +Rebase notes (6.1.0): - Added CONFIG_TPM (except s390x) - -Rebase notes (210714): - default-configs moved to configs - -Rebaes notes (6.1.0 RC2): - Use --with-device- configure option to use rhel configs -Merged patches (210526): -- c51bf45304 Remove SPICE and QXL from x86_64-rh-devices.mak +Rebase notes (6.2.0 RC0): +- Add CONFIG_ISA_FDC -Merged patches (6.1.0 RC1): +Rebase notes (6.2.0 RC3): +- Do not remove -no-hpet documentation + +Merged patches (6.1.0): +- c51bf45304 Remove SPICE and QXL from x86_64-rh-devices.mak - 02fc745601 aarch64-rh-devices: add CONFIG_PVPANIC_PCI - f2fe835153 aarch64-rh-devices: add CONFIG_PXB - b5431733ad disable CONFIG_USB_STORAGE_BOT - 478ba0cdf6 Disable TPM passthrough - -Merged patches (6.1.0): - 2504d68a7c aarch64: Add USB storage devices - 51c2a3253c disable ac97 audio + +Merged patches (6.2.0 RC0): +- 9f2f9fa2ba disable sga device --- - .distro/qemu-kvm.spec.template | 12 ++- + .distro/qemu-kvm.spec.template | 9 +- .../aarch64-softmmu/aarch64-rh-devices.mak | 33 ++++++ .../ppc64-softmmu/ppc64-rh-devices.mak | 35 ++++++ configs/devices/rh-virtio.mak | 10 ++ @@ -48,12 +49,11 @@ Merged patches (6.1.0): hw/ppc/spapr_cpu_core.c | 2 + hw/timer/hpet.c | 8 ++ hw/usb/meson.build | 2 +- - qemu-options.hx | 4 - 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, 285 insertions(+), 15 deletions(-) + 23 files changed, 283 insertions(+), 10 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 @@ -180,7 +180,7 @@ index 0000000000..d3b38312e1 +CONFIG_WDT_DIAG288=y diff --git a/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak b/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak new file mode 100644 -index 0000000000..24b96ba0c4 +index 0000000000..1f7a9ab024 --- /dev/null +++ b/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak @@ -0,0 +1,102 @@ @@ -206,6 +206,7 @@ index 0000000000..24b96ba0c4 +CONFIG_EDU=y +CONFIG_FDC=y +CONFIG_FDC_SYSBUS=y ++CONFIG_FDC_ISA=y +CONFIG_FW_CFG_DMA=y +CONFIG_HDA=y +CONFIG_HYPERV=y @@ -253,7 +254,6 @@ index 0000000000..24b96ba0c4 +CONFIG_SERIAL_ISA=y +CONFIG_SERIAL_PCI=y +CONFIG_SEV=y -+CONFIG_SGA=y +CONFIG_SMBIOS=y +CONFIG_SMBUS_EEPROM=y +CONFIG_TEST_DEVICES=y @@ -297,10 +297,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; @@ -310,7 +310,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 @@ -325,7 +325,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 @@ @@ -337,7 +337,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; @@ -408,7 +408,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) @@ -444,10 +444,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, }, @@ -455,7 +455,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, }, @@ -464,7 +464,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[] = { @@ -512,23 +512,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 @@ @@ -536,7 +521,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) @@ -606,7 +591,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 @@ @@ -636,7 +621,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[] = { @@ -644,7 +629,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" }, @@ -660,15 +645,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" }, diff --git a/SOURCES/0006-Machine-type-related-general-changes.patch b/SOURCES/0007-Machine-type-related-general-changes.patch similarity index 89% rename from SOURCES/0006-Machine-type-related-general-changes.patch rename to SOURCES/0007-Machine-type-related-general-changes.patch index 3c5c4df..9baf215 100644 --- a/SOURCES/0006-Machine-type-related-general-changes.patch +++ b/SOURCES/0007-Machine-type-related-general-changes.patch @@ -1,4 +1,4 @@ -From fd2a04cf2221d8c541a70a66021c12a9b9c93aaa Mon Sep 17 00:00:00 2001 +From ef9b78c3f2810541eac453a3f8a8753763b1378d Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Fri, 11 Jan 2019 09:54:45 +0100 Subject: Machine type related general changes @@ -8,51 +8,60 @@ split to allow easier review. It contains changes not related to any architecture. Signed-off-by: Miroslav Rezanina +-- +Rebase notes (6.2.0 RC0): +- Do not duplicate minimal_version_id for piix4_pm +- Remove empty line chunks in serial.c +- Remove migration.h include in serial.c -Merged patches (6.1.0 RC1): -- f2fb42a3c6 redhat: add missing entries in hw_compat_rhel_8_4 -- 1949ec258e hw/arm/virt: Disable PL011 clock migration through hw_compat_rhel_8_3 +Rebase notes (6.2.0 RC1): +- Update hw_compat_rhel_8_5 (from MR 66) Merged patches (6.1.0): +- f2fb42a3c6 redhat: add missing entries in hw_compat_rhel_8_4 +- 1949ec258e hw/arm/virt: Disable PL011 clock migration through hw_compat_rhel_8_3 - a3995e2eff Remove RHEL 7.0.0 machine type (only generic changes) - ad3190a79b Remove RHEL 7.1.0 machine type (only generic changes) - 84bbe15d4e Remove RHEL 7.2.0 machine type (only generic changes) - 0215eb3356 Remove RHEL 7.3.0 machine types (only generic changes) - af69d1ca6e Remove RHEL 7.4.0 machine types (only generic changes) - 8f7a74ab78 Remove RHEL 7.5.0 machine types (only generic changes) + +Merged patches (6.2.0 RC0): +- d687ac13d2 redhat: Define hw_compat_rhel_8_5 --- - hw/acpi/piix4.c | 5 +- + hw/acpi/piix4.c | 6 +- hw/arm/virt.c | 2 +- - hw/char/serial.c | 4 + - hw/core/machine.c | 159 +++++++++++++++++++++++++++++++++++ + hw/core/machine.c | 180 +++++++++++++++++++++++++++++++++++ hw/display/vga-isa.c | 2 +- hw/i386/pc_piix.c | 2 + hw/i386/pc_q35.c | 2 + hw/net/rtl8139.c | 4 +- hw/rtc/mc146818rtc.c | 2 + - 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 ++++++++++--- + hw/usb/hcd-xhci-pci.c | 59 +++++++++--- hw/usb/hcd-xhci-pci.h | 1 + - include/hw/boards.h | 18 ++++ + include/hw/boards.h | 21 ++++ include/hw/firmware/smbios.h | 5 +- include/hw/i386/pc.h | 3 + - 17 files changed, 295 insertions(+), 25 deletions(-) + 16 files changed, 315 insertions(+), 26 deletions(-) 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), @@ -61,13 +70,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, @@ -76,50 +85,35 @@ index 81eda46b0b..cd1a2d985d 100644 smbios_get_tables(MACHINE(vms), NULL, 0, &smbios_tables, &smbios_tables_len, -diff --git a/hw/char/serial.c b/hw/char/serial.c -index 7061aacbce..8fa5ab1e8e 100644 ---- a/hw/char/serial.c -+++ b/hw/char/serial.c -@@ -37,6 +37,7 @@ - #include "trace.h" - #include "hw/qdev-properties.h" - #include "hw/qdev-properties-system.h" -+#include "migration/migration.h" - - #define UART_LCR_DLAB 0x80 /* Divisor latch access bit */ - -@@ -770,6 +771,7 @@ static const VMStateDescription vmstate_serial_xmit_fifo = { - static bool serial_fifo_timeout_timer_needed(void *opaque) - { - SerialState *s = (SerialState *)opaque; -+ - return timer_pending(s->fifo_timeout_timer); - } - -@@ -787,6 +789,7 @@ static const VMStateDescription vmstate_serial_fifo_timeout_timer = { - static bool serial_timeout_ipending_needed(void *opaque) - { - SerialState *s = (SerialState *)opaque; -+ - return s->timeout_ipending != 0; - } - -@@ -804,6 +807,7 @@ static const VMStateDescription vmstate_serial_timeout_ipending = { - static bool serial_poll_needed(void *opaque) - { - SerialState *s = (SerialState *)opaque; -+ - return s->poll_msl >= 0; - } - diff --git a/hw/core/machine.c b/hw/core/machine.c -index 54e040587d..d681a06a47 100644 +index 53a99abc56..53a3caf4fb 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c -@@ -37,6 +37,165 @@ +@@ -37,6 +37,186 @@ #include "hw/virtio/virtio.h" #include "hw/virtio/virtio-pci.h" ++/* ++ * 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 */ ++ { "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" }, ++ /* 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" }, ++}; ++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 + */ @@ -279,9 +273,9 @@ index 54e040587d..d681a06a47 100644 +}; +const size_t hw_compat_rhel_7_6_len = G_N_ELEMENTS(hw_compat_rhel_7_6); + - 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 @@ -296,7 +290,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, @@ -309,10 +303,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, @@ -460,10 +454,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; @@ -471,14 +465,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 @@ -591,13 +584,16 @@ index c193f79443..086a1feb1e 100644 #endif diff --git a/include/hw/boards.h b/include/hw/boards.h -index accd6eff35..f5423f351a 100644 +index 9c1c190104..b0a6e05b48 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h -@@ -416,4 +416,22 @@ extern const size_t hw_compat_2_2_len; +@@ -441,4 +441,25 @@ 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; + @@ -634,7 +630,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 { diff --git a/SOURCES/0007-Add-aarch64-machine-types.patch b/SOURCES/0008-Add-aarch64-machine-types.patch similarity index 91% rename from SOURCES/0007-Add-aarch64-machine-types.patch rename to SOURCES/0008-Add-aarch64-machine-types.patch index eb79d4f..07beb75 100644 --- a/SOURCES/0007-Add-aarch64-machine-types.patch +++ b/SOURCES/0008-Add-aarch64-machine-types.patch @@ -1,4 +1,4 @@ -From 38c87d1469539d2b5224d298db85b0fd43d8bb0c Mon Sep 17 00:00:00 2001 +From 19d36c4519a1a560cce60b212e3afdf7eb026e45 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Fri, 19 Oct 2018 12:53:31 +0200 Subject: Add aarch64 machine types @@ -7,25 +7,25 @@ Adding changes to add RHEL machine types for aarch64 architecture. Signed-off-by: Miroslav Rezanina --- -Rebase notes (210623): +Rebase notes (6.1.0): - Use CONFIG_TPM check when using TPM structures - -Rebase notes (6.1.0 rc0): - Add support for default_bus_bypass_iommu - -Merged patches (6.1.0 rc1): - ea4c0b32d9 arm/virt: Register highmem and gic-version as class properties - 895e1fa86a hw/arm/virt: Add 8.5 and 9.0 machine types and remove older ones + +Merged patches (6.2.0 RC0): +- 9a3d4fde0e hw/arm/virt: Remove 9.0 machine type +- f7d04d6695 hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type --- - hw/arm/virt.c | 210 +++++++++++++++++++++++++++++++++++++++++- + hw/arm/virt.c | 205 +++++++++++++++++++++++++++++++++++++++++- include/hw/arm/virt.h | 8 ++ - 2 files changed, 217 insertions(+), 1 deletion(-) + 2 files changed, 212 insertions(+), 1 deletion(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c -index cd1a2d985d..3c8e6de36d 100644 +index 5de4d9d73b..7d51824263 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" @@ -33,7 +33,7 @@ index cd1a2d985d..3c8e6de36d 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) @@ -83,7 +83,7 @@ index cd1a2d985d..3c8e6de36d 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); } @@ -91,7 +91,7 @@ index cd1a2d985d..3c8e6de36d 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; } @@ -99,7 +99,7 @@ index cd1a2d985d..3c8e6de36d 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); } @@ -107,7 +107,7 @@ index cd1a2d985d..3c8e6de36d 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; } @@ -115,7 +115,7 @@ index cd1a2d985d..3c8e6de36d 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; } @@ -123,7 +123,7 @@ index cd1a2d985d..3c8e6de36d 100644 static void virt_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); -@@ -2948,3 +2995,164 @@ static void virt_machine_2_6_options(MachineClass *mc) +@@ -3031,3 +3078,159 @@ static void virt_machine_2_6_options(MachineClass *mc) vmc->no_pmu = true; } DEFINE_VIRT_MACHINE(2, 6) @@ -277,22 +277,17 @@ index cd1a2d985d..3c8e6de36d 100644 +} +type_init(rhel_machine_init); + -+static void rhel900_virt_options(MachineClass *mc) -+{ -+ compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len); -+} -+DEFINE_RHEL_MACHINE_AS_LATEST(9, 0, 0) -+ +static void rhel850_virt_options(MachineClass *mc) +{ -+ rhel900_virt_options(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(8, 5, 0) ++DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0) 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) diff --git a/SOURCES/0008-Add-ppc64-machine-types.patch b/SOURCES/0009-Add-ppc64-machine-types.patch similarity index 88% rename from SOURCES/0008-Add-ppc64-machine-types.patch rename to SOURCES/0009-Add-ppc64-machine-types.patch index 932a2a8..90a6ff4 100644 --- a/SOURCES/0008-Add-ppc64-machine-types.patch +++ b/SOURCES/0009-Add-ppc64-machine-types.patch @@ -1,4 +1,4 @@ -From 01fe9632c4dcc7a6ce9c0100db6256e815e6bf87 Mon Sep 17 00:00:00 2001 +From 2d595bc1744fc764ef506fd6ed6555f267d01ea4 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Fri, 19 Oct 2018 13:27:13 +0200 Subject: Add ppc64 machine types @@ -7,10 +7,12 @@ Adding changes to add RHEL machine types for ppc64 architecture. Signed-off-by: Miroslav Rezanina -Merged patches (6.1.0 RC1): -- c438c25ac3 redhat: Define pseries-rhel8.5.0 machine type +Rebase notes (6.2.0 rc1): +- Fixed rebase conflict relicts +- Update machine type compat for 6.2 (from MR 66) Merged patches (6.1.0): +- c438c25ac3 redhat: Define pseries-rhel8.5.0 machine type - a3995e2eff Remove RHEL 7.0.0 machine type (only ppc64 changes) - ad3190a79b Remove RHEL 7.1.0 machine type (only ppc64 changes) - 84bbe15d4e Remove RHEL 7.2.0 machine type (only ppc64 changes) @@ -18,20 +20,20 @@ Merged patches (6.1.0): - af69d1ca6e Remove RHEL 7.4.0 machine types (only ppc64 changes) - 8f7a74ab78 Remove RHEL 7.5.0 machine types (only ppc64 changes) --- - hw/ppc/spapr.c | 238 +++++++++++++++++++++++++++++++++++++++- + hw/ppc/spapr.c | 243 ++++++++++++++++++++++++++++++++++++++++ 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 | 28 +++++ + target/ppc/kvm.c | 27 +++++ target/ppc/kvm_ppc.h | 13 +++ - 7 files changed, 307 insertions(+), 3 deletions(-) + 7 files changed, 313 insertions(+), 1 deletion(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c -index 81699d4f8b..1386e45e70 100644 +index 3b5fd749be..f4bb5f15f0 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); @@ -41,7 +43,7 @@ index 81699d4f8b..1386e45e70 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); } @@ -62,7 +64,7 @@ index 81699d4f8b..1386e45e70 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"); @@ -75,7 +77,7 @@ index 81699d4f8b..1386e45e70 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; @@ -83,15 +85,15 @@ index 81699d4f8b..1386e45e70 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); @@ -99,7 +101,7 @@ index 81699d4f8b..1386e45e70 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; } @@ -108,23 +110,7 @@ index 81699d4f8b..1386e45e70 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); - /* - * pseries-2.7 - */ -+#endif - - 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, - return true; - } - -+#if 0 /* Disabled for Red Hat Enterprise Linux */ - static void spapr_machine_2_7_class_options(MachineClass *mc) - { - SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc); -@@ -5132,10 +5162,214 @@ static void spapr_machine_2_1_class_options(MachineClass *mc) +@@ -5127,6 +5155,221 @@ 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); @@ -148,8 +134,14 @@ index 81699d4f8b..1386e45e70 100644 + +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); @@ -239,8 +231,7 @@ index 81699d4f8b..1386e45e70 100644 + compat_props_add(mc->compat_props, hw_compat_rhel_8_1, + hw_compat_rhel_8_1_len); + compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat)); - --static void spapr_machine_register_types(void) ++ + /* from pseries-4.2 */ + smc->default_caps.caps[SPAPR_CAP_CCF_ASSIST] = SPAPR_CAP_OFF; +} @@ -255,8 +246,7 @@ index 81699d4f8b..1386e45e70 100644 + */ + +static void spapr_machine_rhel800_class_options(MachineClass *mc) - { -- type_register_static(&spapr_machine_info); ++{ + SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc); + + spapr_machine_rhel810_class_options(mc); @@ -274,8 +264,8 @@ index 81699d4f8b..1386e45e70 100644 + smc->dr_phb_enabled = false; + smc->broken_host_serial_model = true; + smc->default_caps.caps[SPAPR_CAP_LARGE_DECREMENTER] = SPAPR_CAP_OFF; - } - ++} ++ +DEFINE_SPAPR_MACHINE(rhel800, "rhel8.0.0", false); + +/* @@ -339,10 +329,11 @@ index 81699d4f8b..1386e45e70 100644 +} + +DEFINE_SPAPR_MACHINE(rhel760sxxm, "rhel7.6.0-sxxm", false); -+ - type_init(spapr_machine_register_types) + + 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 @@ @@ -380,18 +371,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..589d1a262c 100644 +index ee7504b976..fcd5bf9302 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, -@@ -230,6 +231,9 @@ struct SpaprMachineState { +@@ -238,6 +239,9 @@ struct SpaprMachineState { /* Set by -boot */ char *boot_device; @@ -427,10 +418,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) @@ -439,7 +430,7 @@ index 93d308ac8f..dca9bdf846 100644 uint32_t min_compat_pvr, uint32_t max_compat_pvr); bool ppc_type_check_compat(const char *cputype, uint32_t compat_pvr, diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c -index dc93b99189..0f4f072fbd 100644 +index dc93b99189..154888cce5 100644 --- a/target/ppc/kvm.c +++ b/target/ppc/kvm.c @@ -90,6 +90,7 @@ static int cap_ppc_nested_kvm_hv; @@ -458,15 +449,10 @@ index dc93b99189..0f4f072fbd 100644 cap_large_decr = kvmppc_get_dec_bits(); cap_fwnmi = kvm_vm_check_extension(s, KVM_CAP_PPC_FWNMI); /* -@@ -2558,9 +2560,20 @@ int kvmppc_enable_cap_large_decr(PowerPCCPU *cpu, int enable) - return 0; +@@ -2563,6 +2565,16 @@ int kvmppc_has_cap_rpt_invalidate(void) + return cap_rpt_invalidate; } -+<<<<<<< HEAD - int kvmppc_has_cap_rpt_invalidate(void) - { - return cap_rpt_invalidate; -+======= +bool kvmppc_has_cap_secure_guest(void) +{ + return !!cap_ppc_secure_guest; @@ -475,11 +461,12 @@ index dc93b99189..0f4f072fbd 100644 +int kvmppc_enable_cap_secure_guest(void) +{ + return kvm_vm_enable_cap(kvm_state, KVM_CAP_PPC_SECURE_GUEST, 0, 1); -+>>>>>>> 89c02f0e37... Add ppc64 machine types - } - ++} ++ PowerPCCPUClass *kvm_ppc_get_host_cpu_class(void) -@@ -2959,3 +2972,18 @@ bool kvm_arch_cpu_check_are_resettable(void) + { + uint32_t host_pvr = mfpvr(); +@@ -2959,3 +2971,18 @@ bool kvm_arch_cpu_check_are_resettable(void) { return true; } diff --git a/SOURCES/0009-Add-s390x-machine-types.patch b/SOURCES/0010-Add-s390x-machine-types.patch similarity index 87% rename from SOURCES/0009-Add-s390x-machine-types.patch rename to SOURCES/0010-Add-s390x-machine-types.patch index 1dda855..1095f3a 100644 --- a/SOURCES/0009-Add-s390x-machine-types.patch +++ b/SOURCES/0010-Add-s390x-machine-types.patch @@ -1,4 +1,4 @@ -From 8ae9e40c13f4beb1eedaef46e6b00f562de692e2 Mon Sep 17 00:00:00 2001 +From ea22b5ae0a89ef53f31f67bb6845fd6c45d4f412 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Fri, 19 Oct 2018 13:47:32 +0200 Subject: Add s390x machine types @@ -7,15 +7,18 @@ Adding changes to add RHEL machine types for s390x architecture. Signed-off-by: Miroslav Rezanina -- -Merged patches (6.1.0 RC1): +Merged patches (6.1.0): - 64a9a5c971 hw/s390x: Remove the RHEL7-only machine type - 395516d62b redhat: s390x: add rhel-8.5.0 compat machine + +Merged patches (6.2.0 RC0): +- 3bf66f4520 redhat: Add s390x machine type compatibility update for 6.1 rebase --- - hw/s390x/s390-virtio-ccw.c | 66 +++++++++++++++++++++++++++++++++++++- - 1 file changed, 65 insertions(+), 1 deletion(-) + hw/s390x/s390-virtio-ccw.c | 67 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c -index e4b18aef49..9a51dd8de2 100644 +index 653587ea62..4af14cb9ca 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -767,7 +767,7 @@ bool css_migration_enabled(void) @@ -32,10 +35,10 @@ index e4b18aef49..9a51dd8de2 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,69 @@ static void ccw_machine_2_4_class_options(MachineClass *mc) +@@ -1100,6 +1101,70 @@ 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); @@ -47,6 +50,7 @@ index e4b18aef49..9a51dd8de2 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); + diff --git a/SOURCES/0010-Add-x86_64-machine-types.patch b/SOURCES/0011-Add-x86_64-machine-types.patch similarity index 95% rename from SOURCES/0010-Add-x86_64-machine-types.patch rename to SOURCES/0011-Add-x86_64-machine-types.patch index 59c7c14..aecc3fb 100644 --- a/SOURCES/0010-Add-x86_64-machine-types.patch +++ b/SOURCES/0011-Add-x86_64-machine-types.patch @@ -1,4 +1,4 @@ -From afc727ec3b2ad5a5c4033f25a63c877500b0194d Mon Sep 17 00:00:00 2001 +From afe0cbc5cdb98998b37cf48e9a1c87a110d9fbb3 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Fri, 19 Oct 2018 13:10:31 +0200 Subject: Add x86_64 machine types @@ -7,14 +7,12 @@ Adding changes to add RHEL machine types for x86_64 architecture. Signed-off-by: Miroslav Rezanina -Rebase notes (210609): +Rebase notes (6.1.0): - Update qemu64 cpu spec -Merged patches (6.1.0 RC1): +Merged patches (6.1.0): - 59c284ad3b x86: Add x86 rhel8.5 machine types - a8868b42fe redhat: x86: Enable 'kvm-asyncpf-int' by default - -Merged patches (6.1.0): - a3995e2eff Remove RHEL 7.0.0 machine type (only x86_64 changes) - ad3190a79b Remove RHEL 7.1.0 machine type (only x86_64 changes) - 84bbe15d4e Remove RHEL 7.2.0 machine type (only x86_64 changes) @@ -33,10 +31,10 @@ Merged patches (6.1.0): 8 files changed, 385 insertions(+), 7 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c -index c2b9d62a35..719cedaa4b 100644 +index a2ef40ecbc..b6d2db8d04 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c -@@ -362,6 +362,116 @@ GlobalProperty pc_compat_1_4[] = { +@@ -371,6 +371,116 @@ GlobalProperty pc_compat_1_4[] = { }; const size_t pc_compat_1_4_len = G_N_ELEMENTS(pc_compat_1_4); @@ -153,7 +151,7 @@ index c2b9d62a35..719cedaa4b 100644 GSIState *pc_gsi_create(qemu_irq **irqs, bool pci_enabled) { GSIState *s; -@@ -1713,6 +1823,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) +@@ -1694,6 +1804,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) pcmc->pvh_enabled = true; pcmc->kvmclock_create_always = true; assert(!mc->get_hotplug_handler); @@ -161,9 +159,9 @@ index c2b9d62a35..719cedaa4b 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 +1835,8 @@ static void pc_machine_class_init(ObjectClass *oc, void *data) +@@ -1704,7 +1815,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 */ @@ -172,10 +170,10 @@ index c2b9d62a35..719cedaa4b 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..19d6721f3d 100644 +index dda3f64f19..dabc6c1933 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" @@ -202,7 +200,7 @@ index eebb4f3141..19d6721f3d 100644 static void pc_compat_2_3_fn(MachineState *machine) { X86MachineState *x86ms = X86_MACHINE(machine); -@@ -937,3 +939,65 @@ static void xenfv_3_1_machine_options(MachineClass *m) +@@ -951,3 +953,65 @@ 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 @@ -269,10 +267,10 @@ index eebb4f3141..19d6721f3d 100644 +DEFINE_PC_MACHINE(rhel760, "pc-i440fx-rhel7.6.0", pc_init_rhel760, + pc_machine_rhel760_options); diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c -index e7724fd02c..8032babda5 100644 +index 235054a643..04c911da18 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 */ @@ -283,7 +281,7 @@ index e7724fd02c..8032babda5 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) @@ -291,7 +289,7 @@ index e7724fd02c..8032babda5 100644 static void pc_q35_machine_options(MachineClass *m) { PCMachineClass *pcmc = PC_MACHINE_CLASS(m); -@@ -602,3 +603,175 @@ static void pc_q35_2_4_machine_options(MachineClass *m) +@@ -620,3 +621,175 @@ 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); @@ -468,10 +466,10 @@ index e7724fd02c..8032babda5 100644 +DEFINE_PC_MACHINE(q35_rhel760, "pc-q35-rhel7.6.0", pc_q35_init_rhel760, + pc_q35_machine_rhel760_options); diff --git a/include/hw/boards.h b/include/hw/boards.h -index f5423f351a..a2b1681027 100644 +index b0a6e05b48..3c3d2ad450 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; @@ -481,10 +479,10 @@ index f5423f351a..a2b1681027 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..75b338d66d 100644 +index 7ccc9a1a07..9689a58b14 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h -@@ -277,6 +277,27 @@ extern const size_t pc_compat_1_5_len; +@@ -280,6 +280,27 @@ extern const size_t pc_compat_1_5_len; extern GlobalProperty pc_compat_1_4[]; extern const size_t pc_compat_1_4_len; @@ -525,10 +523,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; @@ -536,7 +534,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; diff --git a/SOURCES/0011-Enable-make-check.patch b/SOURCES/0012-Enable-make-check.patch similarity index 89% rename from SOURCES/0011-Enable-make-check.patch rename to SOURCES/0012-Enable-make-check.patch index ce8ef90..4cd1ecc 100644 --- a/SOURCES/0011-Enable-make-check.patch +++ b/SOURCES/0012-Enable-make-check.patch @@ -1,4 +1,4 @@ -From e05f30c4899bfec4084cda3223e7141ddc97be6f Mon Sep 17 00:00:00 2001 +From b071f3eaa77dde1567d70b43d0b2975efe380da2 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Wed, 2 Sep 2020 09:39:41 +0200 Subject: Enable make check @@ -11,6 +11,9 @@ Signed-off-by: Miroslav Rezanina Rebase changes (6.1.0): - removed unnecessary test changes +Rebase changes (6.2.0 RC0): +- new way of disabling bios-table-test + Merged patches (6.1.0): - 2f129df7d3 redhat: Enable the 'test-block-iothread' test again --- @@ -24,14 +27,14 @@ Merged patches (6.1.0): 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(+), 24 deletions(-) + 14 files changed, 41 insertions(+), 25 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 @@ -59,10 +62,10 @@ 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..62745181a8 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) +@@ -1371,7 +1371,7 @@ static void test_acpi_virt_tcg_numamem(void) free_test_data(&data); } @@ -71,7 +74,7 @@ index 51d3a4e239..fe01fd8b7d 100644 static void test_acpi_virt_tcg_pxb(void) { test_data data = { -@@ -1335,7 +1335,7 @@ static void test_acpi_virt_tcg_pxb(void) +@@ -1403,7 +1403,7 @@ static void test_acpi_virt_tcg_pxb(void) free_test_data(&data); } @@ -80,17 +83,17 @@ index 51d3a4e239..fe01fd8b7d 100644 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 +1644,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); + } } - 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[] = { @@ -241,17 +244,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', @@ -280,16 +283,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', diff --git a/SOURCES/0012-vfio-cap-number-of-devices-that-can-be-assigned.patch b/SOURCES/0013-vfio-cap-number-of-devices-that-can-be-assigned.patch similarity index 93% rename from SOURCES/0012-vfio-cap-number-of-devices-that-can-be-assigned.patch rename to SOURCES/0013-vfio-cap-number-of-devices-that-can-be-assigned.patch index 0186f8a..44db7e1 100644 --- a/SOURCES/0012-vfio-cap-number-of-devices-that-can-be-assigned.patch +++ b/SOURCES/0013-vfio-cap-number-of-devices-that-can-be-assigned.patch @@ -1,4 +1,4 @@ -From 79697eeae5ecc81c6e334b4a5164c9a664541a22 Mon Sep 17 00:00:00 2001 +From 55dcef9d806aa530f10e3ca42eb24d52f850d674 Mon Sep 17 00:00:00 2001 From: Bandan Das Date: Tue, 3 Dec 2013 20:05:13 +0100 Subject: vfio: cap number of devices that can be assigned @@ -32,7 +32,7 @@ Signed-off-by: Bandan Das 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 @@ @@ -45,7 +45,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; @@ -77,7 +77,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), diff --git a/SOURCES/0013-Add-support-statement-to-help-output.patch b/SOURCES/0014-Add-support-statement-to-help-output.patch similarity index 88% rename from SOURCES/0013-Add-support-statement-to-help-output.patch rename to SOURCES/0014-Add-support-statement-to-help-output.patch index e7ff04f..095b9db 100644 --- a/SOURCES/0013-Add-support-statement-to-help-output.patch +++ b/SOURCES/0014-Add-support-statement-to-help-output.patch @@ -1,4 +1,4 @@ -From 5209e0f91395c9240142f75123edd55a6fcce8d7 Mon Sep 17 00:00:00 2001 +From fcccb5c061b8bbae29de59637c5ad4cf4416281b Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 4 Dec 2013 18:53:17 +0100 Subject: Add support statement to -help output @@ -21,10 +21,10 @@ Signed-off-by: Eduardo Habkost 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"); } @@ -42,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"); diff --git a/SOURCES/0014-globally-limit-the-maximum-number-of-CPUs.patch b/SOURCES/0015-globally-limit-the-maximum-number-of-CPUs.patch similarity index 89% rename from SOURCES/0014-globally-limit-the-maximum-number-of-CPUs.patch rename to SOURCES/0015-globally-limit-the-maximum-number-of-CPUs.patch index 0eba4ee..50c1e79 100644 --- a/SOURCES/0014-globally-limit-the-maximum-number-of-CPUs.patch +++ b/SOURCES/0015-globally-limit-the-maximum-number-of-CPUs.patch @@ -1,4 +1,4 @@ -From 9ca40e0d1c7644ab781dc382effa8eb32f589322 Mon Sep 17 00:00:00 2001 +From 354c9ce982e566ddb3c724a57252986dcb7c36db Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 21 Jan 2014 10:46:52 +0100 Subject: globally limit the maximum number of CPUs @@ -18,10 +18,10 @@ Signed-off-by: Danilo Cesar Lemes de Paula 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); diff --git a/SOURCES/0015-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch b/SOURCES/0016-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch similarity index 92% rename from SOURCES/0015-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch rename to SOURCES/0016-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch index dd00655..415bcc2 100644 --- a/SOURCES/0015-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch +++ b/SOURCES/0016-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch @@ -1,4 +1,4 @@ -From 67b5eb11440c75e0fea275eccea43266760b831e Mon Sep 17 00:00:00 2001 +From b057b4ebec0f87f21ba4a15adbb2a1bde7240ed5 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Wed, 8 Jul 2020 08:35:50 +0200 Subject: Use qemu-kvm in documentation instead of qemu-system- @@ -37,10 +37,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. @@ -63,7 +63,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*. @@ -85,7 +85,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: :: @@ -95,10 +95,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 :: diff --git a/SOURCES/0016-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch b/SOURCES/0017-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch similarity index 96% rename from SOURCES/0016-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch rename to SOURCES/0017-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch index c6e26e6..031b551 100644 --- a/SOURCES/0016-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch +++ b/SOURCES/0017-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch @@ -1,4 +1,4 @@ -From 121a8bb81575086f84563f1dffc4d045cdc65a64 Mon Sep 17 00:00:00 2001 +From 41fe05330d095f69f12973b0540466439e030047 Mon Sep 17 00:00:00 2001 From: Fam Zheng 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 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, diff --git a/SOURCES/0017-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch b/SOURCES/0018-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch similarity index 97% rename from SOURCES/0017-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch rename to SOURCES/0018-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch index 75ebb16..7f161e8 100644 --- a/SOURCES/0017-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch +++ b/SOURCES/0018-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch @@ -1,4 +1,4 @@ -From 6e87ea18ca021e10fd99698bb3f744ed3dc06552 Mon Sep 17 00:00:00 2001 +From 295ee942608d48ab167aa76adabf3697c28e6910 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Wed, 6 Feb 2019 03:58:56 +0000 Subject: BZ1653590: Require at least 64kiB pages for downstream guests & hosts diff --git a/SOURCES/0018-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch b/SOURCES/0019-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch similarity index 96% rename from SOURCES/0018-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch rename to SOURCES/0019-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch index 3fc1c9c..7ff46fd 100644 --- a/SOURCES/0018-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch +++ b/SOURCES/0019-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch @@ -1,4 +1,4 @@ -From 0486a5468aee70d74e8ad65f3b2e5fa16cacba56 Mon Sep 17 00:00:00 2001 +From a3bb2330bbf68faabc57b768cdf3ae2f4f4d86f3 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Fri, 20 Aug 2021 18:25:12 +0200 Subject: qcow2: Deprecation warning when opening v2 images rw @@ -44,7 +44,7 @@ Rebase notes (6.1.0): 2 files changed, 7 insertions(+) diff --git a/block/qcow2.c b/block/qcow2.c -index 9f1b6461c8..4c303e6666 100644 +index d509016756..37d1c26a71 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1336,6 +1336,12 @@ static int coroutine_fn qcow2_do_open(BlockDriverState *bs, QDict *options, diff --git a/SOURCES/0020-Fix-virtio-net-pci-vectors-compat.patch b/SOURCES/0020-Fix-virtio-net-pci-vectors-compat.patch new file mode 100644 index 0000000..6caad1d --- /dev/null +++ b/SOURCES/0020-Fix-virtio-net-pci-vectors-compat.patch @@ -0,0 +1,46 @@ +From ef5afcc86dc44d1c9d3030a8ceca2018df86c6ec Mon Sep 17 00:00:00 2001 +From: Eduardo Habkost +Date: Tue, 19 Oct 2021 13:17:06 -0400 +Subject: Fix virtio-net-pci* "vectors" compat + +RH-Author: Dr. David Alan Gilbert +RH-MergeRequest: 76: 9.0/6.2.0-rc1 x86 machine type fixes +RH-Commit: [20/22] ebb570f053f96d3558bac49962dc7dc88296c207 +RH-Bugzilla: 2025468 +RH-Acked-by: quintela1 +RH-Acked-by: Vitaly Kuznetsov +RH-Acked-by: Cornelia Huck + +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 +(cherry picked from commit d45823ab0d0138b2fbaf2ed1e1896d2052f3ccb3) +--- + 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 53a3caf4fb..448a8dd127 100644 +--- a/hw/core/machine.c ++++ b/hw/core/machine.c +@@ -69,7 +69,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 + diff --git a/SOURCES/0021-x86-rhel-machine-types-Add-pc_rhel_8_5_compat.patch b/SOURCES/0021-x86-rhel-machine-types-Add-pc_rhel_8_5_compat.patch new file mode 100644 index 0000000..8ef276d --- /dev/null +++ b/SOURCES/0021-x86-rhel-machine-types-Add-pc_rhel_8_5_compat.patch @@ -0,0 +1,75 @@ +From eae7d8dd3c3b9aa859a619933f52a4759a42bf66 Mon Sep 17 00:00:00 2001 +From: "Dr. David Alan Gilbert" +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 +RH-MergeRequest: 76: 9.0/6.2.0-rc1 x86 machine type fixes +RH-Commit: [21/22] dd23060695bc0ad892bbfa51d93afe31f5d745c7 +RH-Bugzilla: 2025468 +RH-Acked-by: quintela1 +RH-Acked-by: Vitaly Kuznetsov +RH-Acked-by: Cornelia Huck + +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 +Signed-off-by: Miroslav Rezanina +--- + 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 b6d2db8d04..4661473d2a 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 9689a58b14..afb570ba14 100644 +--- a/include/hw/i386/pc.h ++++ b/include/hw/i386/pc.h +@@ -283,6 +283,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 + diff --git a/SOURCES/0022-x86-rhel-machine-types-Wire-compat-into-q35-and-i440.patch b/SOURCES/0022-x86-rhel-machine-types-Wire-compat-into-q35-and-i440.patch new file mode 100644 index 0000000..85c6b26 --- /dev/null +++ b/SOURCES/0022-x86-rhel-machine-types-Wire-compat-into-q35-and-i440.patch @@ -0,0 +1,55 @@ +From 6762f5646943c759ece5972f08eb88364cf0a8ad Mon Sep 17 00:00:00 2001 +From: "Dr. David Alan Gilbert" +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 +RH-MergeRequest: 76: 9.0/6.2.0-rc1 x86 machine type fixes +RH-Commit: [22/22] e2767df0d920773057cb52d346e0106a76cb0a28 +RH-Bugzilla: 2025468 +RH-Acked-by: quintela1 +RH-Acked-by: Vitaly Kuznetsov +RH-Acked-by: Cornelia Huck +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 +Signed-off-by: Miroslav Rezanina +--- + 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 dabc6c1933..183b5d5464 100644 +--- a/hw/i386/pc_piix.c ++++ b/hw/i386/pc_piix.c +@@ -993,6 +993,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 04c911da18..0e7e885e78 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 + diff --git a/SOURCES/0023-redhat-virt-rhel8.5.0-Update-machine-type-compatibil.patch b/SOURCES/0023-redhat-virt-rhel8.5.0-Update-machine-type-compatibil.patch new file mode 100644 index 0000000..293854f --- /dev/null +++ b/SOURCES/0023-redhat-virt-rhel8.5.0-Update-machine-type-compatibil.patch @@ -0,0 +1,50 @@ +From 3b82be3dd3d5254baedf82ba2a6cf0412e84a991 Mon Sep 17 00:00:00 2001 +From: Eric Auger +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 +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 +RH-Acked-by: Miroslav Rezanina +RH-Acked-by: Andrew Jones +RH-Acked-by: Cornelia Huck +RH-Acked-by: Laurent Vivier + +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 +Signed-off-by: Miroslav Rezanina +--- + hw/arm/virt.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/hw/arm/virt.c b/hw/arm/virt.c +index 7d51824263..6ba9a2c2e1 100644 +--- a/hw/arm/virt.c ++++ b/hw/arm/virt.c +@@ -3230,7 +3230,12 @@ 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 + diff --git a/SOURCES/0024-redhat-Add-s390x-machine-type-compatibility-handling.patch b/SOURCES/0024-redhat-Add-s390x-machine-type-compatibility-handling.patch new file mode 100644 index 0000000..9762048 --- /dev/null +++ b/SOURCES/0024-redhat-Add-s390x-machine-type-compatibility-handling.patch @@ -0,0 +1,58 @@ +From e6ff4de4f7036f88ee63adad6de5ee5dd74f1d99 Mon Sep 17 00:00:00 2001 +From: Thomas Huth +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 +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 +RH-Acked-by: Laurent Vivier +RH-Acked-by: Cornelia Huck + +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 +--- + 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 4af14cb9ca..c654045964 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 + diff --git a/SOURCES/0025-compat-Update-hw_compat_rhel_8_5-with-6.2.0-RC2-chan.patch b/SOURCES/0025-compat-Update-hw_compat_rhel_8_5-with-6.2.0-RC2-chan.patch new file mode 100644 index 0000000..1fdd794 --- /dev/null +++ b/SOURCES/0025-compat-Update-hw_compat_rhel_8_5-with-6.2.0-RC2-chan.patch @@ -0,0 +1,31 @@ +From 168f0d56e3a37a7d5fcc59483e2b1181824a23d2 Mon Sep 17 00:00:00 2001 +From: Miroslav Rezanina +Date: Wed, 24 Nov 2021 23:51:52 -0500 +Subject: compat: Update hw_compat_rhel_8_5 with 6.2.0 RC2 changes + +In RC2 nvme-ns 'shared' default was changed (commit 916b0f0b52). + +Adding compat record for RHEL 8.5.0 so we keep it off for downstream +machinetypes. + +Signed-off-by: Miroslav Rezanina +--- + hw/core/machine.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/hw/core/machine.c b/hw/core/machine.c +index 448a8dd127..669d3d8b91 100644 +--- a/hw/core/machine.c ++++ b/hw/core/machine.c +@@ -55,6 +55,8 @@ GlobalProperty hw_compat_rhel_8_5[] = { + { "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 + diff --git a/SOURCES/ksm.service b/SOURCES/ksm.service deleted file mode 100644 index 35c6f1d..0000000 --- a/SOURCES/ksm.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Kernel Samepage Merging -ConditionPathExists=/sys/kernel/mm/ksm - -[Service] -Type=oneshot -RemainAfterExit=yes -EnvironmentFile=-/etc/sysconfig/ksm -ExecStart=/usr/libexec/ksmctl start -ExecStop=/usr/libexec/ksmctl stop - -[Install] -WantedBy=multi-user.target diff --git a/SOURCES/ksm.sysconfig b/SOURCES/ksm.sysconfig deleted file mode 100644 index d99656d..0000000 --- a/SOURCES/ksm.sysconfig +++ /dev/null @@ -1,4 +0,0 @@ -# The maximum number of unswappable kernel pages -# which may be allocated by ksm (0 for unlimited) -# If unset, defaults to half of total memory -# KSM_MAX_KERNEL_PAGES= diff --git a/SOURCES/ksmctl.c b/SOURCES/ksmctl.c deleted file mode 100644 index af39591..0000000 --- a/SOURCES/ksmctl.c +++ /dev/null @@ -1,77 +0,0 @@ -/* Start/stop KSM, for systemd. - * Copyright (C) 2009, 2011 Red Hat, Inc. - * Written by Paolo Bonzini . - * Based on the original sysvinit script by Dan Kenigsberg - * This file is distributed under the GNU General Public License, version 2 - * or later. */ - -#include -#include -#include -#include -#include -#include - -#define KSM_MAX_KERNEL_PAGES_FILE "/sys/kernel/mm/ksm/max_kernel_pages" -#define KSM_RUN_FILE "/sys/kernel/mm/ksm/run" - -char *program_name; - -int usage(void) -{ - fprintf(stderr, "Usage: %s {start|stop}\n", program_name); - return 1; -} - -int write_value(uint64_t value, char *filename) -{ - FILE *fp; - if (!(fp = fopen(filename, "w")) || - fprintf(fp, "%llu\n", (unsigned long long) value) == EOF || - fflush(fp) == EOF || - fclose(fp) == EOF) - return 1; - - return 0; -} - -uint64_t ksm_max_kernel_pages() -{ - char *var = getenv("KSM_MAX_KERNEL_PAGES"); - char *endptr; - uint64_t value; - if (var && *var) { - value = strtoll(var, &endptr, 0); - if (value < LLONG_MAX && !*endptr) - return value; - } - /* Unless KSM_MAX_KERNEL_PAGES is set, let KSM munch up to half of - * total memory. */ - return sysconf(_SC_PHYS_PAGES) / 2; -} - -int start(void) -{ - if (access(KSM_MAX_KERNEL_PAGES_FILE, R_OK) >= 0) - write_value(ksm_max_kernel_pages(), KSM_MAX_KERNEL_PAGES_FILE); - return write_value(1, KSM_RUN_FILE); -} - -int stop(void) -{ - return write_value(0, KSM_RUN_FILE); -} - -int main(int argc, char **argv) -{ - program_name = argv[0]; - if (argc < 2) { - return usage(); - } else if (!strcmp(argv[1], "start")) { - return start(); - } else if (!strcmp(argv[1], "stop")) { - return stop(); - } else { - return usage(); - } -} diff --git a/SOURCES/ksmtuned b/SOURCES/ksmtuned deleted file mode 100644 index 7bc5743..0000000 --- a/SOURCES/ksmtuned +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/bash -# -# Copyright 2009 Red Hat, Inc. and/or its affiliates. -# Released under the GPL -# -# Author: Dan Kenigsberg -# -# ksmtuned - a simple script that controls whether (and with what vigor) ksm -# should search for duplicated pages. -# -# starts ksm when memory commited to qemu processes exceeds a threshold, and -# make ksm work harder and harder untill memory load falls below that -# threshold. -# -# send SIGUSR1 to this process right after a new qemu process is started, or -# following its death, to retune ksm accordingly -# -# needs testing and ironing. contact danken@redhat.com if something breaks. - -if [ -f /etc/ksmtuned.conf ]; then - . /etc/ksmtuned.conf -fi - -debug() { - if [ -n "$DEBUG" ]; then - s="`/bin/date`: $*" - [ -n "$LOGFILE" ] && echo "$s" >> "$LOGFILE" || echo "$s" - fi -} - - -KSM_MONITOR_INTERVAL=${KSM_MONITOR_INTERVAL:-60} -KSM_NPAGES_BOOST=${KSM_NPAGES_BOOST:-300} -KSM_NPAGES_DECAY=${KSM_NPAGES_DECAY:--50} - -KSM_NPAGES_MIN=${KSM_NPAGES_MIN:-64} -KSM_NPAGES_MAX=${KSM_NPAGES_MAX:-1250} -# millisecond sleep between ksm scans for 16Gb server. Smaller servers sleep -# more, bigger sleep less. -KSM_SLEEP_MSEC=${KSM_SLEEP_MSEC:-10} - -KSM_THRES_COEF=${KSM_THRES_COEF:-20} -KSM_THRES_CONST=${KSM_THRES_CONST:-2048} - -total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo` -debug total $total - -npages=0 -sleep=$[KSM_SLEEP_MSEC * 16 * 1024 * 1024 / total] -[ $sleep -le 10 ] && sleep=10 -debug sleep $sleep -thres=$[total * KSM_THRES_COEF / 100] -if [ $KSM_THRES_CONST -gt $thres ]; then - thres=$KSM_THRES_CONST -fi -debug thres $thres - -KSMCTL () { - case x$1 in - xstop) - echo 0 > /sys/kernel/mm/ksm/run - ;; - xstart) - echo $2 > /sys/kernel/mm/ksm/pages_to_scan - echo $3 > /sys/kernel/mm/ksm/sleep_millisecs - echo 1 > /sys/kernel/mm/ksm/run - ;; - esac -} - -committed_memory () { - # calculate how much memory is committed to running qemu processes - local pidlist - pidlist=$(pgrep -d ' ' -- '^qemu(-(kvm|system-.+)|:.{1,11})$') - if [ -n "$pidlist" ]; then - ps -p "$pidlist" -o rsz= - fi | awk '{ sum += $1 }; END { print 0+sum }' -} - -free_memory () { - awk '/^(MemFree|Buffers|Cached):/ {free += $2}; END {print free}' \ - /proc/meminfo -} - -increase_npages() { - local delta - delta=${1:-0} - npages=$[npages + delta] - if [ $npages -lt $KSM_NPAGES_MIN ]; then - npages=$KSM_NPAGES_MIN - elif [ $npages -gt $KSM_NPAGES_MAX ]; then - npages=$KSM_NPAGES_MAX - fi - echo $npages -} - - -adjust () { - local free committed - free=`free_memory` - committed=`committed_memory` - debug committed $committed free $free - if [ $[committed + thres] -lt $total -a $free -gt $thres ]; then - KSMCTL stop - debug "$[committed + thres] < $total and free > $thres, stop ksm" - return 1 - fi - debug "$[committed + thres] > $total, start ksm" - if [ $free -lt $thres ]; then - npages=`increase_npages $KSM_NPAGES_BOOST` - debug "$free < $thres, boost" - else - npages=`increase_npages $KSM_NPAGES_DECAY` - debug "$free > $thres, decay" - fi - KSMCTL start $npages $sleep - debug "KSMCTL start $npages $sleep" - return 0 -} - -function nothing () { - : -} - -loop () { - trap nothing SIGUSR1 - while true - do - sleep $KSM_MONITOR_INTERVAL & - wait $! - adjust - done -} - -PIDFILE=${PIDFILE-/var/run/ksmtune.pid} -if touch "$PIDFILE"; then - loop & - echo $! > "$PIDFILE" -fi diff --git a/SOURCES/ksmtuned.conf b/SOURCES/ksmtuned.conf deleted file mode 100644 index fc4518c..0000000 --- a/SOURCES/ksmtuned.conf +++ /dev/null @@ -1,21 +0,0 @@ -# Configuration file for ksmtuned. - -# How long ksmtuned should sleep between tuning adjustments -# KSM_MONITOR_INTERVAL=60 - -# Millisecond sleep between ksm scans for 16Gb server. -# Smaller servers sleep more, bigger sleep less. -# KSM_SLEEP_MSEC=10 - -# KSM_NPAGES_BOOST=300 -# KSM_NPAGES_DECAY=-50 -# KSM_NPAGES_MIN=64 -# KSM_NPAGES_MAX=1250 - -# KSM_THRES_COEF=20 -# KSM_THRES_CONST=2048 - -# uncomment the following if you want ksmtuned debug info - -# LOGFILE=/var/log/ksmtuned -# DEBUG=1 diff --git a/SOURCES/ksmtuned.service b/SOURCES/ksmtuned.service deleted file mode 100644 index 39febcc..0000000 --- a/SOURCES/ksmtuned.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Kernel Samepage Merging (KSM) Tuning Daemon -After=ksm.service -Requires=ksm.service - -[Service] -ExecStart=/usr/sbin/ksmtuned -ExecReload=/bin/kill -USR1 $MAINPID -Type=forking - -[Install] -WantedBy=multi-user.target diff --git a/SOURCES/kvm-Fix-for-ppc64le-build.patch b/SOURCES/kvm-Fix-for-ppc64le-build.patch deleted file mode 100644 index 263286c..0000000 --- a/SOURCES/kvm-Fix-for-ppc64le-build.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 81c5a3cec15194bf75366813274f63d596f04807 Mon Sep 17 00:00:00 2001 -From: Miroslav Rezanina -Date: Mon, 15 Nov 2021 05:46:15 -0500 -Subject: [PATCH 6/6] Fix for ppc64le build - -Although we do not support ppc64 build, there can be some custom builds running -it. Fix code so the ppc64le build is buildable. - -Signed-off-by: Miroslav Rezanina ---- - hw/ppc/spapr.c | 7 +++++-- - target/ppc/kvm.c | 5 ++--- - 2 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c -index 1386e45e70..8699cc3d0c 100644 ---- a/hw/ppc/spapr.c -+++ b/hw/ppc/spapr.c -@@ -4991,7 +4991,6 @@ DEFINE_SPAPR_MACHINE(2_8, "2.8", false); - /* - * pseries-2.7 - */ --#endif - - static bool phb_placement_2_7(SpaprMachineState *spapr, uint32_t index, - uint64_t *buid, hwaddr *pio, -@@ -5047,7 +5046,6 @@ static bool phb_placement_2_7(SpaprMachineState *spapr, uint32_t index, - return true; - } - --#if 0 /* Disabled for Red Hat Enterprise Linux */ - static void spapr_machine_2_7_class_options(MachineClass *mc) - { - SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc); -@@ -5372,4 +5370,9 @@ static void spapr_machine_rhel760sxxm_class_options(MachineClass *mc) - - DEFINE_SPAPR_MACHINE(rhel760sxxm, "rhel7.6.0-sxxm", false); - -+static void spapr_machine_register_types(void) -+{ -+ type_register_static(&spapr_machine_info); -+} -+ - type_init(spapr_machine_register_types) -diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c -index 0f4f072fbd..154888cce5 100644 ---- a/target/ppc/kvm.c -+++ b/target/ppc/kvm.c -@@ -2560,11 +2560,11 @@ int kvmppc_enable_cap_large_decr(PowerPCCPU *cpu, int enable) - return 0; - } - --<<<<<<< HEAD - int kvmppc_has_cap_rpt_invalidate(void) - { - return cap_rpt_invalidate; --======= -+} -+ - bool kvmppc_has_cap_secure_guest(void) - { - return !!cap_ppc_secure_guest; -@@ -2573,7 +2573,6 @@ bool kvmppc_has_cap_secure_guest(void) - int kvmppc_enable_cap_secure_guest(void) - { - return kvm_vm_enable_cap(kvm_state, KVM_CAP_PPC_SECURE_GUEST, 0, 1); -->>>>>>> 89c02f0e37... Add ppc64 machine types - } - - PowerPCCPUClass *kvm_ppc_get_host_cpu_class(void) --- -2.27.0 - diff --git a/SOURCES/kvm-disable-sga-device.patch b/SOURCES/kvm-disable-sga-device.patch deleted file mode 100644 index 75118bd..0000000 --- a/SOURCES/kvm-disable-sga-device.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 77d18ece20f69ff1e1f6afd4b2d8cf2a1f252f3a Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 20 Sep 2021 03:46:51 -0400 -Subject: [PATCH 1/2] disable sga device -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Miroslav Rezanina -RH-MergeRequest: 44: Apply RHEL 9.0.0 Beta fixes to RHEL 9.0.0 -RH-Commit: [1/2] 3d8e1b51b496175de71162c612abbd64adbcb9e5 (mrezanin/centos-src-qemu-kvm) -RH-Bugzilla: 2000845 -RH-Acked-by: Daniel P. Berrangé -RH-Acked-by: Gerd Hoffmann - -Disabling sga device we are going to not support anymore. - -Signed-off-by: Gerd Hoffmann -Signed-off-by: Miroslav Rezanina ---- - configs/devices/x86_64-softmmu/x86_64-rh-devices.mak | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak b/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak -index 24b96ba0c4..20c2991941 100644 ---- a/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak -+++ b/configs/devices/x86_64-softmmu/x86_64-rh-devices.mak -@@ -67,7 +67,6 @@ CONFIG_SERIAL=y - CONFIG_SERIAL_ISA=y - CONFIG_SERIAL_PCI=y - CONFIG_SEV=y --CONFIG_SGA=y - CONFIG_SMBIOS=y - CONFIG_SMBUS_EEPROM=y - CONFIG_TEST_DEVICES=y --- -2.27.0 - diff --git a/SOURCES/kvm-dump-guest-memory-Block-live-migration.patch b/SOURCES/kvm-dump-guest-memory-Block-live-migration.patch deleted file mode 100644 index 08da454..0000000 --- a/SOURCES/kvm-dump-guest-memory-Block-live-migration.patch +++ /dev/null @@ -1,93 +0,0 @@ -From d1c6d059f8936adf7b8c3e2b29b2eb290b0792ac Mon Sep 17 00:00:00 2001 -From: Peter Xu -Date: Wed, 22 Sep 2021 12:20:09 -0400 -Subject: [PATCH 3/6] dump-guest-memory: Block live migration -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Peter Xu -RH-MergeRequest: 51: dump-guest-memory: Add blocker for migration -RH-Commit: [3/3] 711dcc0018f70bcb87496c5aa235633a6daf5c2d (peterx/qemu-kvm) -RH-Bugzilla: 1996609 -RH-Acked-by: Dr. David Alan Gilbert -RH-Acked-by: quintela1 -RH-Acked-by: Laszlo Ersek - -Both dump-guest-memory and live migration caches vm state at the beginning. -Either of them entering the other one will cause race on the vm state, and even -more severe on that (please refer to the crash report in the bug link). - -Let's block live migration in dump-guest-memory, and that'll also block -dump-guest-memory if it detected that we're during a live migration. - -Side note: migrate_del_blocker() can be called even if the blocker is not -inserted yet, so it's safe to unconditionally delete that blocker in -dump_cleanup (g_slist_remove allows no-entry-found case). - -Suggested-by: Dr. David Alan Gilbert -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1996609 -Signed-off-by: Peter Xu -Reviewed-by: Marc-André Lureau -Reviewed-by: Juan Quintela -Signed-off-by: Juan Quintela -(cherry picked from commit b7bc6b182883bb3097dde2a25d041f28bde2b89c) -Signed-off-by: Peter Xu ---- - dump/dump.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/dump/dump.c b/dump/dump.c -index ab625909f3..662d0a62cd 100644 ---- a/dump/dump.c -+++ b/dump/dump.c -@@ -29,6 +29,7 @@ - #include "qemu/error-report.h" - #include "qemu/main-loop.h" - #include "hw/misc/vmcoreinfo.h" -+#include "migration/blocker.h" - - #ifdef TARGET_X86_64 - #include "win_dump.h" -@@ -47,6 +48,8 @@ - - #define MAX_GUEST_NOTE_SIZE (1 << 20) /* 1MB should be enough */ - -+static Error *dump_migration_blocker; -+ - #define ELF_NOTE_SIZE(hdr_size, name_size, desc_size) \ - ((DIV_ROUND_UP((hdr_size), 4) + \ - DIV_ROUND_UP((name_size), 4) + \ -@@ -101,6 +104,7 @@ static int dump_cleanup(DumpState *s) - qemu_mutex_unlock_iothread(); - } - } -+ migrate_del_blocker(dump_migration_blocker); - - return 0; - } -@@ -2005,6 +2009,21 @@ void qmp_dump_guest_memory(bool paging, const char *file, - return; - } - -+ if (!dump_migration_blocker) { -+ error_setg(&dump_migration_blocker, -+ "Live migration disabled: dump-guest-memory in progress"); -+ } -+ -+ /* -+ * Allows even for -only-migratable, but forbid migration during the -+ * process of dump guest memory. -+ */ -+ if (migrate_add_blocker_internal(dump_migration_blocker, errp)) { -+ /* Remember to release the fd before passing it over to dump state */ -+ close(fd); -+ return; -+ } -+ - s = &dump_state_global; - dump_state_prepare(s); - --- -2.27.0 - diff --git a/SOURCES/kvm-hw-arm-virt-Add-hw_compat_rhel_8_5-to-8.5-machine-ty.patch b/SOURCES/kvm-hw-arm-virt-Add-hw_compat_rhel_8_5-to-8.5-machine-ty.patch deleted file mode 100644 index 5d7af51..0000000 --- a/SOURCES/kvm-hw-arm-virt-Add-hw_compat_rhel_8_5-to-8.5-machine-ty.patch +++ /dev/null @@ -1,38 +0,0 @@ -From c0fa5e8ad618a980752f7053de4d4fedd46b5b53 Mon Sep 17 00:00:00 2001 -From: Eric Auger -Date: Tue, 12 Oct 2021 17:53:07 +0200 -Subject: [PATCH] hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type - -RH-Author: Eric Auger -RH-MergeRequest: 48: hw: arm: virt: Add hw_compat_rhel_8_5 to 8.5 machine type -RH-Commit: [1/1] f4230d3bbd94beb44afb23cb0d1561ff2bc71340 (eauger1/centos-qemu-kvm) -RH-Bugzilla: 1998942 -RH-Acked-by: Miroslav Rezanina -RH-Acked-by: Gavin Shan -RH-Acked-by: Andrew Jones - -branch: c9s -Upstream: no -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=40295089 - -Add hw_compat_rhel_8_5 to rhel8.5 virt options. - -Signed-off-by: Eric Auger ---- - hw/arm/virt.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hw/arm/virt.c b/hw/arm/virt.c -index 9e7cb687dc..79286c40ec 100644 ---- a/hw/arm/virt.c -+++ b/hw/arm/virt.c -@@ -3148,5 +3148,6 @@ 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 - diff --git a/SOURCES/kvm-hw-arm-virt-Remove-9.0-machine-type.patch b/SOURCES/kvm-hw-arm-virt-Remove-9.0-machine-type.patch deleted file mode 100644 index 4ccd33c..0000000 --- a/SOURCES/kvm-hw-arm-virt-Remove-9.0-machine-type.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 8dc162b2ae2e412c7d4e0d46f7a11001c34263dc Mon Sep 17 00:00:00 2001 -From: Andrew Jones -Date: Mon, 23 Aug 2021 18:57:11 +0200 -Subject: [PATCH 1/4] hw/arm/virt: Remove 9.0 machine type -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Andrew Jones -RH-MergeRequest: 38: hw/arm/virt: Remove 9.0 machine type -RH-Commit: [1/1 35c0734886622b88f6a715f13fba8f65331f7a82 -RH-Bugzilla: 2002937 -RH-Acked-by: Daniel P. Berrangé -RH-Acked-by: Miroslav Rezanina -RH-Acked-by: Gavin Shan -RH-Acked-by: Philippe Mathieu-Daudé - -Testing: '/usr/libexec/qemu-kvm -M help' and sample VM run - -Remove the 9.0 machine type for RHEL9 Beta to align with other -architectures. Also, like other architectures, the 8.5 machine -type should be the RHEL9 Beta default. - -Signed-off-by: Andrew Jones -Signed-off-by: Miroslav Rezanina ---- - hw/arm/virt.c | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -diff --git a/hw/arm/virt.c b/hw/arm/virt.c -index 3c8e6de36d..9e7cb687dc 100644 ---- a/hw/arm/virt.c -+++ b/hw/arm/virt.c -@@ -3145,14 +3145,8 @@ static void rhel_machine_init(void) - } - type_init(rhel_machine_init); - --static void rhel900_virt_options(MachineClass *mc) --{ -- compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len); --} --DEFINE_RHEL_MACHINE_AS_LATEST(9, 0, 0) -- - static void rhel850_virt_options(MachineClass *mc) - { -- rhel900_virt_options(mc); -+ compat_props_add(mc->compat_props, arm_rhel_compat, arm_rhel_compat_len); - } --DEFINE_RHEL_MACHINE(8, 5, 0) -+DEFINE_RHEL_MACHINE_AS_LATEST(8, 5, 0) --- -2.27.0 - diff --git a/SOURCES/kvm-migration-Add-migrate_add_blocker_internal.patch b/SOURCES/kvm-migration-Add-migrate_add_blocker_internal.patch deleted file mode 100644 index f00183f..0000000 --- a/SOURCES/kvm-migration-Add-migrate_add_blocker_internal.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 58d47d795b91beb1f87929fb07d9f1b4af79cb14 Mon Sep 17 00:00:00 2001 -From: Peter Xu -Date: Wed, 22 Sep 2021 12:20:08 -0400 -Subject: [PATCH 2/6] migration: Add migrate_add_blocker_internal() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Peter Xu -RH-MergeRequest: 51: dump-guest-memory: Add blocker for migration -RH-Commit: [2/3] 44cf3879ee66cc9974dd3d8a5f9a0d4f762b7c01 (peterx/qemu-kvm) -RH-Bugzilla: 1996609 -RH-Acked-by: Dr. David Alan Gilbert -RH-Acked-by: quintela1 -RH-Acked-by: Laszlo Ersek - -An internal version that removes -only-migratable implications. It can be used -for temporary migration blockers like dump-guest-memory. - -Reviewed-by: Marc-André Lureau -Reviewed-by: Juan Quintela -Signed-off-by: Peter Xu -Signed-off-by: Juan Quintela -(cherry picked from commit 60fd680193119e7e4d50eccff7b55a0aadc934ab) -Signed-off-by: Peter Xu ---- - include/migration/blocker.h | 16 ++++++++++++++++ - migration/migration.c | 21 +++++++++++++-------- - 2 files changed, 29 insertions(+), 8 deletions(-) - -diff --git a/include/migration/blocker.h b/include/migration/blocker.h -index acd27018e9..9cebe2ba06 100644 ---- a/include/migration/blocker.h -+++ b/include/migration/blocker.h -@@ -25,6 +25,22 @@ - */ - int migrate_add_blocker(Error *reason, Error **errp); - -+/** -+ * @migrate_add_blocker_internal - prevent migration from proceeding without -+ * only-migrate implications -+ * -+ * @reason - an error to be returned whenever migration is attempted -+ * -+ * @errp - [out] The reason (if any) we cannot block migration right now. -+ * -+ * @returns - 0 on success, -EBUSY on failure, with errp set. -+ * -+ * Some of the migration blockers can be temporary (e.g., for a few seconds), -+ * so it shouldn't need to conflict with "-only-migratable". For those cases, -+ * we can call this function rather than @migrate_add_blocker(). -+ */ -+int migrate_add_blocker_internal(Error *reason, Error **errp); -+ - /** - * @migrate_del_blocker - remove a blocking error from migration - * -diff --git a/migration/migration.c b/migration/migration.c -index f476e2101e..2aaf2fd449 100644 ---- a/migration/migration.c -+++ b/migration/migration.c -@@ -2053,15 +2053,8 @@ void migrate_init(MigrationState *s) - s->threshold_size = 0; - } - --int migrate_add_blocker(Error *reason, Error **errp) -+int migrate_add_blocker_internal(Error *reason, Error **errp) - { -- if (only_migratable) { -- error_propagate_prepend(errp, error_copy(reason), -- "disallowing migration blocker " -- "(--only-migratable) for: "); -- return -EACCES; -- } -- - /* Snapshots are similar to migrations, so check RUN_STATE_SAVE_VM too. */ - if (runstate_check(RUN_STATE_SAVE_VM) || !migration_is_idle()) { - error_propagate_prepend(errp, error_copy(reason), -@@ -2074,6 +2067,18 @@ int migrate_add_blocker(Error *reason, Error **errp) - return 0; - } - -+int migrate_add_blocker(Error *reason, Error **errp) -+{ -+ if (only_migratable) { -+ error_propagate_prepend(errp, error_copy(reason), -+ "disallowing migration blocker " -+ "(--only-migratable) for: "); -+ return -EACCES; -+ } -+ -+ return migrate_add_blocker_internal(reason, errp); -+} -+ - void migrate_del_blocker(Error *reason) - { - migration_blockers = g_slist_remove(migration_blockers, reason); --- -2.27.0 - diff --git a/SOURCES/kvm-migration-Make-migration-blocker-work-for-snapshots-.patch b/SOURCES/kvm-migration-Make-migration-blocker-work-for-snapshots-.patch deleted file mode 100644 index afdbdb1..0000000 --- a/SOURCES/kvm-migration-Make-migration-blocker-work-for-snapshots-.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0a9b55b44c5c548ff6f3da7335acf2138ecb4376 Mon Sep 17 00:00:00 2001 -From: Peter Xu -Date: Wed, 22 Sep 2021 12:20:07 -0400 -Subject: [PATCH 1/6] migration: Make migration blocker work for snapshots too -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Peter Xu -RH-MergeRequest: 51: dump-guest-memory: Add blocker for migration -RH-Commit: [1/3] 241888d12c7197dd4ee1e1ba6e3115f70901636e (peterx/qemu-kvm) -RH-Bugzilla: 1996609 -RH-Acked-by: Dr. David Alan Gilbert -RH-Acked-by: quintela1 -RH-Acked-by: Laszlo Ersek - -save_snapshot() checks migration blocker, which looks sane. At the meantime we -should also teach the blocker add helper to fail if during a snapshot, just -like for migrations. - -Reviewed-by: Marc-André Lureau -Signed-off-by: Peter Xu -Reviewed-by: Juan Quintela -Signed-off-by: Juan Quintela -(cherry picked from commit 4c170330aae4a4ed75c3a8638b7d4c5d9f365244) -Signed-off-by: Peter Xu ---- - migration/migration.c | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/migration/migration.c b/migration/migration.c -index 041b8451a6..f476e2101e 100644 ---- a/migration/migration.c -+++ b/migration/migration.c -@@ -2062,15 +2062,16 @@ int migrate_add_blocker(Error *reason, Error **errp) - return -EACCES; - } - -- if (migration_is_idle()) { -- migration_blockers = g_slist_prepend(migration_blockers, reason); -- return 0; -+ /* Snapshots are similar to migrations, so check RUN_STATE_SAVE_VM too. */ -+ if (runstate_check(RUN_STATE_SAVE_VM) || !migration_is_idle()) { -+ error_propagate_prepend(errp, error_copy(reason), -+ "disallowing migration blocker " -+ "(migration/snapshot in progress) for: "); -+ return -EBUSY; - } - -- error_propagate_prepend(errp, error_copy(reason), -- "disallowing migration blocker " -- "(migration in progress) for: "); -- return -EBUSY; -+ migration_blockers = g_slist_prepend(migration_blockers, reason); -+ return 0; - } - - void migrate_del_blocker(Error *reason) --- -2.27.0 - diff --git a/SOURCES/kvm-redhat-Add-s390x-machine-type-compatibility-update-f.patch b/SOURCES/kvm-redhat-Add-s390x-machine-type-compatibility-update-f.patch deleted file mode 100644 index 16f5957..0000000 --- a/SOURCES/kvm-redhat-Add-s390x-machine-type-compatibility-update-f.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9b72a86292fb2c34d7be7b928ac06f2609de0f43 Mon Sep 17 00:00:00 2001 -From: Thomas Huth -Date: Thu, 30 Sep 2021 09:25:23 +0200 -Subject: [PATCH 2/2] 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 -RH-MergeRequest: 45: Add s390x machine type compatibility update for 6.1 rebase -RH-Commit: [2/2] 6f71801ac2d77b82b010eac46cd82cd74c53f246 (thuth/qemu-kvm-cs9) -RH-Bugzilla: 1998943 -RH-Acked-by: Greg Kurz -RH-Acked-by: Daniel P. Berrangé -RH-Acked-by: Cornelia Huck -RH-Acked-by: David Hildenbrand - -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=1998943 -Signed-off-by: Thomas Huth ---- - 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 9a51dd8de2..4ee8d266ec 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.27.0 - diff --git a/SOURCES/kvm-redhat-Define-hw_compat_rhel_8_5.patch b/SOURCES/kvm-redhat-Define-hw_compat_rhel_8_5.patch deleted file mode 100644 index 60f7fa1..0000000 --- a/SOURCES/kvm-redhat-Define-hw_compat_rhel_8_5.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 1f0a5d3ae9c835e35b83cf8bbedd0f814df3451d Mon Sep 17 00:00:00 2001 -From: Greg Kurz -Date: Mon, 27 Sep 2021 10:02:46 +0200 -Subject: [PATCH 1/2] redhat: Define hw_compat_rhel_8_5 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Thomas Huth -RH-MergeRequest: 45: Add s390x machine type compatibility update for 6.1 rebase -RH-Commit: [1/2] 5d304edf2bee7abc57843deb9e5d85ab5f19a34c (thuth/qemu-kvm-cs9) -RH-Bugzilla: 1998943 -RH-Acked-by: Greg Kurz -RH-Acked-by: Daniel P. Berrangé -RH-Acked-by: Cornelia Huck -RH-Acked-by: David Hildenbrand - -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 -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1998943 -Signed-off-by: Thomas Huth ---- - 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 d681a06a47..a14503cc30 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 a2b1681027..7b9208ef7a 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.27.0 - diff --git a/SOURCES/kvm-tools-virtiofsd-Add-fstatfs64-syscall-to-the-seccomp.patch b/SOURCES/kvm-tools-virtiofsd-Add-fstatfs64-syscall-to-the-seccomp.patch deleted file mode 100644 index 1666b15..0000000 --- a/SOURCES/kvm-tools-virtiofsd-Add-fstatfs64-syscall-to-the-seccomp.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b615b79feaa73bbaa32bb8c30401a4f6f0c0205e Mon Sep 17 00:00:00 2001 -From: Thomas Huth -Date: Tue, 14 Sep 2021 13:29:59 +0200 -Subject: [PATCH 2/2] tools/virtiofsd: Add fstatfs64 syscall to the seccomp - allowlist -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Miroslav Rezanina -RH-MergeRequest: 44: Apply RHEL 9.0.0 Beta fixes to RHEL 9.0.0 -RH-Commit: [2/2] 0085289cefb57d49d2423b4f3376e8cf4a970012 (mrezanin/centos-src-qemu-kvm) -RH-Bugzilla: 2005026 -RH-Acked-by: Daniel P. Berrangé -RH-Acked-by: Gerd Hoffmann - -The virtiofsd currently crashes on s390x when doing something like -this in the guest: - - mkdir -p /mnt/myfs - mount -t virtiofs myfs /mnt/myfs - touch /mnt/myfs/foo.txt - stat -f /mnt/myfs/foo.txt - -The problem is that the fstatfs64 syscall is called in this case -from the virtiofsd. We have to put it on the seccomp allowlist to -avoid that the daemon gets killed in this case. - -(cherry picked from commit 8cfd339b3d402f913fe520a4f35f30152fb4fb80) -Suggested-by: Vivek Goyal -Signed-off-by: Thomas Huth -Signed-off-by: Miroslav Rezanina ---- - tools/virtiofsd/passthrough_seccomp.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/virtiofsd/passthrough_seccomp.c b/tools/virtiofsd/passthrough_seccomp.c -index f49ed94b5e..a3ce9f898d 100644 ---- a/tools/virtiofsd/passthrough_seccomp.c -+++ b/tools/virtiofsd/passthrough_seccomp.c -@@ -51,6 +51,7 @@ static const int syscall_allowlist[] = { - SCMP_SYS(fsetxattr), - SCMP_SYS(fstat), - SCMP_SYS(fstatfs), -+ SCMP_SYS(fstatfs64), - SCMP_SYS(fsync), - SCMP_SYS(ftruncate), - SCMP_SYS(futex), --- -2.27.0 - diff --git a/SOURCES/kvm-virtio-balloon-Fix-page-poison-subsection-name.patch b/SOURCES/kvm-virtio-balloon-Fix-page-poison-subsection-name.patch deleted file mode 100644 index 68e542a..0000000 --- a/SOURCES/kvm-virtio-balloon-Fix-page-poison-subsection-name.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 91465d5e7cb407604fd8697587a52aafe0040ad7 Mon Sep 17 00:00:00 2001 -From: "Dr. David Alan Gilbert" -Date: Tue, 14 Sep 2021 14:17:16 +0100 -Subject: [PATCH 1/2] virtio-balloon: Fix page-poison subsection name -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Dr. David Alan Gilbert -RH-MergeRequest: 46: virtio-balloon: Fix page-poison subsection name -RH-Commit: [1/1] b5907c252dae636b4b145a6f13fbed4bf5fad9d2 (dagrh/c-9-s-qemu-kvm) -RH-Bugzilla: 1984401 -RH-Acked-by: Philippe Mathieu-Daudé -RH-Acked-by: David Hildenbrand -RH-Acked-by: Cornelia Huck - -The subsection name for page-poison was typo'd as: - - vitio-balloon-device/page-poison - -Note the missing 'r' in virtio. - -When we have a machine type that enables page poison, and the guest -enables it (which needs a new kernel), things fail rather unpredictably. - -The fallout from this is that most of the other subsections fail to -load, including things like the feature bits in the device, one -possible fallout is that the physical addresses of the queues -then get aligned differently and we fail with an error about -last_avail_idx being wrong. -It's not obvious to me why this doesn't produce a more obvious failure, -but virtio's vmstate loading is a bit open-coded. - -Fixes: 7483cbbaf82 ("virtio-balloon: Implement support for page poison reporting feature") -bz: https://bugzilla.redhat.com/show_bug.cgi?id=1984401 -Signed-off-by: Dr. David Alan Gilbert -Message-Id: <20210914131716.102851-1-dgilbert@redhat.com> -Reviewed-by: Michael S. Tsirkin -Signed-off-by: Michael S. Tsirkin -Reviewed-by: David Hildenbrand -(cherry picked from commit 243a9284a989a38e32ceb3990eb795f5cf6f3be0) ---- - hw/virtio/virtio-balloon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c -index 4b5d9e5e50..ced070d64f 100644 ---- a/hw/virtio/virtio-balloon.c -+++ b/hw/virtio/virtio-balloon.c -@@ -850,7 +850,7 @@ static const VMStateDescription vmstate_virtio_balloon_free_page_hint = { - }; - - static const VMStateDescription vmstate_virtio_balloon_page_poison = { -- .name = "vitio-balloon-device/page-poison", -+ .name = "virtio-balloon-device/page-poison", - .version_id = 1, - .minimum_version_id = 1, - .needed = virtio_balloon_page_poison_support, --- -2.27.0 - diff --git a/SPECS/qemu-kvm.spec b/SPECS/qemu-kvm.spec index 5f3f3d0..786b6db 100644 --- a/SPECS/qemu-kvm.spec +++ b/SPECS/qemu-kvm.spec @@ -1,7 +1,7 @@ %global libfdt_version 1.6.0 %global libseccomp_version 2.4.0 %global libusbx_version 1.0.23 -%global meson_version 0.55.3-3 +%global meson_version 0.58.2 %global usbredir_version 0.7.1 %global ipxe_version 20200823-5.git4bd064de @@ -13,7 +13,7 @@ %global have_usbredir 1 %global have_opengl 1 -%global have_fdt 0 +%global have_fdt 1 %global have_modules_load 0 %global have_memlock_limits 0 # Some of these are not relevant for RHEL, but defining them @@ -86,7 +86,6 @@ %endif %ifarch %{power64} %global kvm_target ppc64 - %global have_fdt 1 %global have_memlock_limits 1 %endif %ifarch s390x @@ -95,11 +94,9 @@ %endif %ifarch ppc %global kvm_target ppc - %global have_fdt 1 %endif %ifarch aarch64 %global kvm_target aarch64 - %global have_fdt 1 %endif %global target_list %{kvm_target}-softmmu @@ -132,8 +129,8 @@ Obsoletes: %{name}-block-iscsi <= %{version} \ Summary: QEMU is a machine emulator and virtualizer Name: qemu-kvm -Version: 6.1.0 -Release: 7%{?rcrel}%{?dist}%{?cc_suffix} +Version: 6.2.0 +Release: 1%{?rcrel}%{?dist}%{?cc_suffix} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped # Epoch 15 used for RHEL 8 # Epoch 17 used for RHEL 9 (due to release versioning offset in RHEL 8.5) @@ -145,13 +142,6 @@ ExclusiveArch: x86_64 %{power64} aarch64 s390x Source0: http://wiki.qemu.org/download/qemu-%{version}%{?rcstr}.tar.xz -# KSM control scripts -Source4: ksm.service -Source5: ksm.sysconfig -Source6: ksmctl.c -Source7: ksmtuned.service -Source8: ksmtuned -Source9: ksmtuned.conf Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf @@ -165,44 +155,28 @@ Source31: kvm-x86.conf Source36: README.tests -Patch0004: 0004-Initial-redhat-build.patch -Patch0005: 0005-Enable-disable-devices-for-RHEL.patch -Patch0006: 0006-Machine-type-related-general-changes.patch -Patch0007: 0007-Add-aarch64-machine-types.patch -Patch0008: 0008-Add-ppc64-machine-types.patch -Patch0009: 0009-Add-s390x-machine-types.patch -Patch0010: 0010-Add-x86_64-machine-types.patch -Patch0011: 0011-Enable-make-check.patch -Patch0012: 0012-vfio-cap-number-of-devices-that-can-be-assigned.patch -Patch0013: 0013-Add-support-statement-to-help-output.patch -Patch0014: 0014-globally-limit-the-maximum-number-of-CPUs.patch -Patch0015: 0015-Use-qemu-kvm-in-documentation-instead-of-qemu-system.patch -Patch0016: 0016-virtio-scsi-Reject-scsi-cd-if-data-plane-enabled-RHE.patch -Patch0017: 0017-BZ1653590-Require-at-least-64kiB-pages-for-downstrea.patch -Patch0018: 0018-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch -# For bz#2002937 - [qemu][aarch64] Remove 9.0 machine types in arm virt for 9-Beta -Patch19: kvm-hw-arm-virt-Remove-9.0-machine-type.patch -# For bz#2000845 - RFE: Remove SGA, deprecate cirrus, and set defaults for QEMU machine-types in RHEL9 -Patch20: kvm-disable-sga-device.patch -# For bz#2005026 - [s390][virtio-fs] Umount virtiofs shared folder failure from guest side [rhel-9.0.0] -Patch21: kvm-tools-virtiofsd-Add-fstatfs64-syscall-to-the-seccomp.patch -# For bz#1998943 - Add machine type compatibility update for 6.1 rebase [s390x] -Patch22: kvm-redhat-Define-hw_compat_rhel_8_5.patch -# For bz#1998943 - Add machine type compatibility update for 6.1 rebase [s390x] -Patch23: kvm-redhat-Add-s390x-machine-type-compatibility-update-f.patch -# For bz#1984401 - fails to revert snapshot of a VM [balloon/page-poison] -Patch24: kvm-virtio-balloon-Fix-page-poison-subsection-name.patch -# For bz#1998942 - 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#1996609 - Qemu hit core dump when dump guest memory during live migration -Patch26: kvm-migration-Make-migration-blocker-work-for-snapshots-.patch -# For bz#1996609 - Qemu hit core dump when dump guest memory during live migration -Patch27: kvm-migration-Add-migrate_add_blocker_internal.patch -# For bz#1996609 - Qemu hit core dump when dump guest memory during live migration -Patch28: kvm-dump-guest-memory-Block-live-migration.patch -Patch29: kvm-Fix-for-ppc64le-build.patch - -# Source-git patches +Patch0001: 0001-ui-clipboard-Don-t-use-g_autoptr-just-to-free-a-vari.patch +Patch0005: 0005-Initial-redhat-build.patch +Patch0006: 0006-Enable-disable-devices-for-RHEL.patch +Patch0007: 0007-Machine-type-related-general-changes.patch +Patch0008: 0008-Add-aarch64-machine-types.patch +Patch0009: 0009-Add-ppc64-machine-types.patch +Patch0010: 0010-Add-s390x-machine-types.patch +Patch0011: 0011-Add-x86_64-machine-types.patch +Patch0012: 0012-Enable-make-check.patch +Patch0013: 0013-vfio-cap-number-of-devices-that-can-be-assigned.patch +Patch0014: 0014-Add-support-statement-to-help-output.patch +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 +Patch0019: 0019-qcow2-Deprecation-warning-when-opening-v2-images-rw.patch +Patch0020: 0020-Fix-virtio-net-pci-vectors-compat.patch +Patch0021: 0021-x86-rhel-machine-types-Add-pc_rhel_8_5_compat.patch +Patch0022: 0022-x86-rhel-machine-types-Wire-compat-into-q35-and-i440.patch +Patch0023: 0023-redhat-virt-rhel8.5.0-Update-machine-type-compatibil.patch +Patch0024: 0024-redhat-Add-s390x-machine-type-compatibility-handling.patch +Patch0025: 0025-compat-Update-hw_compat_rhel_8_5-with-6.2.0-RC2-chan.patch %if %{have_clang} BuildRequires: clang @@ -213,6 +187,7 @@ BuildRequires: compiler-rt BuildRequires: gcc %endif BuildRequires: meson >= %{meson_version} +BuildRequires: ninja-build BuildRequires: zlib-devel BuildRequires: glib2-devel BuildRequires: gnutls-devel @@ -272,7 +247,7 @@ BuildRequires: pkgconfig(gbm) BuildRequires: perl-Test-Harness BuildRequires: libslirp-devel BuildRequires: pulseaudio-libs-devel - +BuildRequires: spice-protocol # Requires for qemu-kvm package Requires: %{name}-core = %{epoch}:%{version}-%{release} @@ -471,6 +446,7 @@ mkdir -p %{qemu_kvm_build} %build %define disable_everything \\\ --audio-drv-list= \\\ + --disable-alsa \\\ --disable-attr \\\ --disable-auth-pam \\\ --disable-avx2 \\\ @@ -487,6 +463,7 @@ mkdir -p %{qemu_kvm_build} --disable-cfi-debug \\\ --disable-cloop \\\ --disable-cocoa \\\ + --disable-coreaudio \\\ --disable-coroutine-pool \\\ --disable-crypto-afalg \\\ --disable-curl \\\ @@ -496,10 +473,12 @@ mkdir -p %{qemu_kvm_build} --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 \\\ @@ -509,8 +488,9 @@ mkdir -p %{qemu_kvm_build} --disable-hax \\\ --disable-hvf \\\ --disable-iconv \\\ - --disable-jemalloc \\\ + --disable-jack \\\ --disable-kvm \\\ + --disable-l2tpv3 \\\ --disable-libdaxctl \\\ --disable-libiscsi \\\ --disable-libnfs \\\ @@ -537,6 +517,8 @@ mkdir -p %{qemu_kvm_build} --disable-numa \\\ --disable-nvmm \\\ --disable-opengl \\\ + --disable-oss \\\ + --disable-pa \\\ --disable-parallels \\\ --disable-pie \\\ --disable-pvrdma \\\ @@ -552,16 +534,17 @@ mkdir -p %{qemu_kvm_build} --disable-sdl \\\ --disable-sdl-image \\\ --disable-seccomp \\\ + --disable-selinux \\\ --disable-slirp \\\ --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 \\\ @@ -610,7 +593,7 @@ run_configure() { --docdir="%{_docdir}" \ --libexecdir="%{_libexecdir}" \ --extra-ldflags="%{build_ldflags}" \ - --extra-cflags="%{optflags}" \ + --extra-cflags="%{optflags} -Wno-string-plus-int" \ --with-pkgversion="%{name}-%{version}-%{release}" \ --with-suffix="%{name}" \ --firmwarepath=%{firmwaredirs} \ @@ -641,19 +624,18 @@ run_configure \ %if %{defined block_drivers_ro_list} --block-drv-ro-whitelist=%{block_drivers_ro_list} \ %endif - --audio-drv-list=pa \ --enable-attr \ %ifarch %{ix86} x86_64 --enable-avx2 \ %endif --enable-cap-ng \ - --enable-capstone \ + --enable-capstone=internal \ --enable-coroutine-pool \ --enable-curl \ --enable-debug-info \ --enable-docs \ %if %{have_fdt} - --enable-fdt \ + --enable-fdt=system \ %endif --enable-gnutls \ --enable-guest-agent \ @@ -676,6 +658,7 @@ run_configure \ %if %{have_opengl} --enable-opengl \ %endif + --enable-pa \ --enable-pie \ %if %{have_block_rbd} --enable-rbd \ @@ -684,8 +667,10 @@ run_configure \ --enable-rdma \ %endif --enable-seccomp \ + --enable-selinux \ --enable-slirp=system \ --enable-snappy \ + --enable-spice-protocol \ --enable-system \ --enable-tcg \ --enable-tools \ @@ -753,7 +738,6 @@ cp -a %{kvm_target}-softmmu/qemu-system-%{kvm_target} qemu-kvm cp pc-bios/s390-ccw/s390-ccw.img pc-bios/s390-ccw/s390-netboot.img pc-bios/ %endif -%{__cc} %{_sourcedir}/ksmctl.c %{optflags} -pie %{?build_ldflags} -o ksmctl popd # endif !tools_only %endif @@ -797,20 +781,14 @@ popd %endif %if !%{tools_only} -install -D -p -m 0644 %{_sourcedir}/ksm.service %{buildroot}%{_unitdir}/ksm.service -install -D -p -m 0644 %{_sourcedir}/ksm.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/ksm -install -D -p -m 0755 %{qemu_kvm_build}/ksmctl %{buildroot}%{_libexecdir}/ksmctl -install -D -p -m 0644 %{_sourcedir}/ksmtuned.service %{buildroot}%{_unitdir}/ksmtuned.service -install -D -p -m 0755 %{_sourcedir}/ksmtuned %{buildroot}%{_sbindir}/ksmtuned -install -D -p -m 0644 %{_sourcedir}/ksmtuned.conf %{buildroot}%{_sysconfdir}/ksmtuned.conf install -D -p -m 0644 %{_sourcedir}/vhost.conf %{buildroot}%{_sysconfdir}/modprobe.d/vhost.conf install -D -p -m 0644 %{modprobe_kvm_conf} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/kvm.conf # Create new directories and put them all under tests-src mkdir -p %{buildroot}%{testsdir}/python mkdir -p %{buildroot}%{testsdir}/tests -mkdir -p %{buildroot}%{testsdir}/tests/acceptance +mkdir -p %{buildroot}%{testsdir}/tests/avocado mkdir -p %{buildroot}%{testsdir}/tests/qemu-iotests mkdir -p %{buildroot}%{testsdir}/scripts/qmp @@ -819,7 +797,7 @@ install -m 0644 scripts/dump-guest-memory.py \ %{buildroot}%{_datadir}/%{name} # Install avocado_qemu tests -cp -R %{qemu_kvm_build}/tests/acceptance/* %{buildroot}%{testsdir}/tests/acceptance/ +cp -R %{qemu_kvm_build}/tests/avocado/* %{buildroot}%{testsdir}/tests/avocado/ # Install qemu.py and qmp/ scripts required to run avocado_qemu tests cp -R %{qemu_kvm_build}/python/qemu %{buildroot}%{testsdir}/python @@ -935,6 +913,7 @@ rm -rf %{buildroot}%{_mandir}/man1/virtfs-proxy-helper* rm -rf %{buildroot}%{_datadir}/%{name}/kvmvapic.bin rm -rf %{buildroot}%{_datadir}/%{name}/linuxboot.bin rm -rf %{buildroot}%{_datadir}/%{name}/multiboot.bin + rm -rf %{buildroot}%{_datadir}/%{name}/multiboot_dma.bin rm -rf %{buildroot}%{_datadir}/%{name}/pvh.bin %endif @@ -1003,7 +982,6 @@ popd %postun -n qemu-guest-agent %systemd_postun_with_restart qemu-guest-agent.service - %if !%{tools_only} %post common getent group kvm >/dev/null || groupadd -g 36 -r kvm @@ -1021,17 +999,6 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ modprobe -b kvm &> /dev/null || : fi %endif - -%systemd_post ksm.service -%systemd_post ksmtuned.service - -%preun common -%systemd_preun ksm.service -%systemd_preun ksmtuned.service - -%postun common -%systemd_postun_with_restart ksm.service -%systemd_postun_with_restart ksmtuned.service # endif !tools_only %endif @@ -1105,13 +1072,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_mandir}/man7/qemu-block-drivers.7* %attr(4755, -, -) %{_libexecdir}/qemu-bridge-helper %config(noreplace) %{_sysconfdir}/sasl2/%{name}.conf -%{_unitdir}/ksm.service -%{_libexecdir}/ksmctl -%config(noreplace) %{_sysconfdir}/sysconfig/ksm -%{_unitdir}/ksmtuned.service -%{_sbindir}/ksmtuned %ghost %{_sysconfdir}/kvm -%config(noreplace) %{_sysconfdir}/ksmtuned.conf %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/bridge.conf %config(noreplace) %{_sysconfdir}/modprobe.d/vhost.conf @@ -1120,6 +1081,7 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %ifarch x86_64 %{_datadir}/%{name}/linuxboot.bin %{_datadir}/%{name}/multiboot.bin + %{_datadir}/%{name}/multiboot_dma.bin %{_datadir}/%{name}/kvmvapic.bin %{_datadir}/%{name}/pvh.bin %endif @@ -1193,6 +1155,16 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %changelog +* Thu Dec 16 2021 Miroslav Rezanina - 6.2.0-1 +- Rebase to QEMU 6.2.0 [bz#2027697] +- Resolves: bz#2027697 + (Rebase to QEMU 6.2.0) + +* Wed Nov 24 2021 Miroslav Rezanina - 6.1.0-8 +- kvm-Move-ksmtuned-files-to-separate-package.patch [bz#1971678] +- Resolves: bz#1971678 + (Split out ksmtuned package from qemu-kvm) + * Fri Nov 19 2021 Miroslav Rezanina - 6.1.0-7 - kvm-migration-Make-migration-blocker-work-for-snapshots-.patch [bz#1996609] - kvm-migration-Add-migrate_add_blocker_internal.patch [bz#1996609]