pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/emulators/qemu qemu: update to 6.2.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/eee0b6eaf59b
branches:  trunk
changeset: 771273:eee0b6eaf59b
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Thu Dec 16 12:59:43 2021 +0000

description:
qemu: update to 6.2.0

Tested on NetBSD-current/amd64 w/nvmm and macOS/aarch64 w/hvf.

pkgsrc note: Recent upstream changes seem to have unintentionally broken the
NetBSD usermode emulation. User-mode emulation is thus disabled until someone
fixes this. Hint: see qemu/bsd-user/freebsd commits by M. Warner Losh.

Changes:

m68k
  Improved support for Apple's Nubus, including the ability to load
    declaration ROMs and slot IRQ support
  The macfb framebuffer device now supports the same video modes found
  on a real Quadra 800
Arm
  On macOS hosts with Apple Silicon CPUs we now support the 'hvf'
    accelerator for running AArch64 guests
  M-profile CPUs now emulate trapping on division by zero via CCR.DIV_0_TRP
  The pl011 UART model now supports sending 'break'
  The Fujitsu A64FX processor model is now supported in TCG ('-cpu a64fx')
  The M-profile MVE extension is now supported, and enabled in the Cortex-M55
  The deprecated machine names 'raspi2' and 'raspi3' have been removed;
    use 'raspi2b' and 'raspi3b' instead
  The 'virt' machine now supports an emulated ITS
  New machine type: kudo-bmc
  The xlnx-zcu102 and xlnx-versal-virt machines now support
    BBRAM and eFUSE devices
  The 'virt' machine now supports more than 123 CPUs in TCG emulation mode
  The pl031 real-time clock device now supports sending RTC_CHANGE QMP events
PowerPC
  Improved POWER10 support for the 'powernv' machine
  Initial support for POWER10 DD2.0 CPU added
  Added support for FORM2 PAPR NUMA descriptions in the "pseries" machine type
RISC-V
  Add Zb[abcs] instruction support
  Remove RVB support
  Fixup virt flash node
  Don't override users supplied ISA version
  Fixup some CSR accesses
  Fix an overflow in the SiFive CLINT
  ePMP CSR address updates
  SiFive PWM support
  Support for RISC-V ACLINT
  Support vhost-user and numa mem options on all boards
  mstatus.SD bug fix for hypervisor extensions
  OpenTitan fix for USB dev address
  OpenTitan update to latest bitstream build
  Remove the Ibex PLIC
  Bug fix of setting mstatus_hs.[SD|FS] bits
  Fixes for sifive PDMA
  Mark shakti_c as not user creatable
  Add support for the experimental J extension
  Update the fmin/fmax handling
s390x
  Improved storage key emulation
  New gen16 CPU features are now enabled automatically
SPARC
  Fix for booting sun4m machines with more than 1 CPU
x86
  New Snowridge-v4 CPU model, with split-lock-detect feature disabled
KVM
  Support for SGX in the virtual machine
  New "hv-apicv" CPU property (aliased to "hv-avic")
AMD SEV
  Measured launch with direct kernel boot is now possible
virtio
  QEMU now fully supports guest memory dumps with virtio-mem.
  QEMU now cleanly supports precopy/postcopy migration & background snapshots
9pfs
  Fixed an occasional crash when handling 'Twalk' requests
  Fixed sub-optimal I/O performance on guest
QMP
  New event DEVICE_UNPLUG_GUEST_ERROR
Block device backends and tools
  qemu-nbd now defaults to writeback caching
  qemu-nbd now has a --selinux-label option for Unix socket label
TCG
  plugins now have a bool arg parsing helper and cleaned up argument syntax
  the cache plugin is now multi-core aware

diffstat:

 emulators/qemu/Makefile                                  |  10 +-
 emulators/qemu/PLIST                                     |  16 ++++-
 emulators/qemu/distinfo                                  |  13 +--
 emulators/qemu/patches/patch-configure                   |  21 -------
 emulators/qemu/patches/patch-include_sysemu_nvmm.h       |  33 -----------
 emulators/qemu/patches/patch-meson.build                 |  20 +-----
 emulators/qemu/patches/patch-target_i386_nvmm_nvmm-all.c |  47 ----------------
 7 files changed, 28 insertions(+), 132 deletions(-)

diffs (280 lines):

diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/Makefile
--- a/emulators/qemu/Makefile   Thu Dec 16 12:50:08 2021 +0000
+++ b/emulators/qemu/Makefile   Thu Dec 16 12:59:43 2021 +0000
@@ -1,8 +1,6 @@
-# $NetBSD: Makefile,v 1.290 2021/12/08 16:04:18 adam Exp $
+# $NetBSD: Makefile,v 1.291 2021/12/16 12:59:43 tnn Exp $
 
-DISTNAME=      qemu-6.1.0
-PKGNAME=       ${DISTNAME:S/-rc/rc/}
-PKGREVISION=   5
+DISTNAME=      qemu-6.2.0
 CATEGORIES=    emulators
 MASTER_SITES=  https://download.qemu.org/
 EXTRACT_SUFX=  .tar.xz
@@ -123,9 +121,11 @@
 
 .if ${OPSYS} == "NetBSD"
 PLIST.nbd=                     yes
-.  if !exists(/usr/include/machine/trap.h)
+.  if !exists(/usr/include/machine/trap.h)     \
+       || "1"=="1"     # XXX usermode emulation is broken
 CONFIGURE_ARGS+=               --disable-bsd-user
 .  else
+CONFIGURE_ARGS+=               --enable-bsd-user
 USER_EMUL=                     i386 x86_64
 .  endif
 .elif !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/PLIST
--- a/emulators/qemu/PLIST      Thu Dec 16 12:50:08 2021 +0000
+++ b/emulators/qemu/PLIST      Thu Dec 16 12:59:43 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.78 2021/08/29 01:53:06 mcf Exp $
+@comment $NetBSD: PLIST,v 1.79 2021/12/16 12:59:43 tnn Exp $
 bin/elf2dmp
 ${PLIST.aarch64}bin/qemu-aarch64
 ${PLIST.aarch64_be}bin/qemu-aarch64_be
@@ -124,14 +124,17 @@
 share/doc/qemu/devel/secure-coding-practices.html
 share/doc/qemu/devel/stable-process.html
 share/doc/qemu/devel/style.html
+share/doc/qemu/devel/submitting-a-patch.html
+share/doc/qemu/devel/submitting-a-pull-request.html
 share/doc/qemu/devel/tcg-icount.html
 share/doc/qemu/devel/tcg-plugins.html
 share/doc/qemu/devel/tcg.html
 share/doc/qemu/devel/testing.html
 share/doc/qemu/devel/tracing.html
+share/doc/qemu/devel/trivial-patches.html
 share/doc/qemu/devel/ui.html
 share/doc/qemu/devel/vfio-migration.html
-share/doc/qemu/devel/writing-qmp-commands.html
+share/doc/qemu/devel/writing-monitor-commands.html
 share/doc/qemu/genindex.html
 share/doc/qemu/index.html
 share/doc/qemu/interop/barrier.html
@@ -151,8 +154,12 @@
 share/doc/qemu/objects.inv
 share/doc/qemu/search.html
 share/doc/qemu/searchindex.js
+share/doc/qemu/specs/acpi_cpu_hotplug.html
 share/doc/qemu/specs/acpi_hest_ghes.html
 share/doc/qemu/specs/acpi_hw_reduced_hotplug.html
+share/doc/qemu/specs/acpi_mem_hotplug.html
+share/doc/qemu/specs/acpi_nvdimm.html
+share/doc/qemu/specs/acpi_pci_hotplug.html
 share/doc/qemu/specs/index.html
 share/doc/qemu/specs/ppc-spapr-numa.html
 share/doc/qemu/specs/ppc-spapr-xive.html
@@ -200,13 +207,17 @@
 share/doc/qemu/system/devices/net.html
 share/doc/qemu/system/devices/nvme.html
 share/doc/qemu/system/devices/usb.html
+share/doc/qemu/system/devices/vhost-user-rng.html
 share/doc/qemu/system/devices/vhost-user.html
 share/doc/qemu/system/devices/virtio-pmem.html
 share/doc/qemu/system/gdb.html
 share/doc/qemu/system/generic-loader.html
 share/doc/qemu/system/guest-loader.html
+share/doc/qemu/system/i386/cpu.html
+share/doc/qemu/system/i386/kvm-pv.html
 share/doc/qemu/system/i386/microvm.html
 share/doc/qemu/system/i386/pc.html
+share/doc/qemu/system/i386/sgx.html
 share/doc/qemu/system/images.html
 share/doc/qemu/system/index.html
 share/doc/qemu/system/invocation.html
@@ -352,6 +363,7 @@
 share/qemu/linuxboot.bin
 share/qemu/linuxboot_dma.bin
 share/qemu/multiboot.bin
+share/qemu/multiboot_dma.bin
 share/qemu/npcm7xx_bootrom.bin
 share/qemu/openbios-ppc
 share/qemu/openbios-sparc32
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/distinfo
--- a/emulators/qemu/distinfo   Thu Dec 16 12:50:08 2021 +0000
+++ b/emulators/qemu/distinfo   Thu Dec 16 12:59:43 2021 +0000
@@ -1,13 +1,12 @@
-$NetBSD: distinfo,v 1.188 2021/10/26 10:23:59 nia Exp $
+$NetBSD: distinfo,v 1.189 2021/12/16 12:59:43 tnn Exp $
 
 BLAKE2s (palcode-clipper-qemu-5.2.0nb8) = d388c896a80c1cc3d4785c8434d6688bbcfd54c28f7252ce550ab162a0bba321
 SHA512 (palcode-clipper-qemu-5.2.0nb8) = 33695d6001d86a19793a92d5e31775607c4dfc9ab9eea019ea6c4d543a2e11e8c07f83cca4934811a13ef829b528737ea37d9d2aaf66cba6f2746d44d2aa0b43
 Size (palcode-clipper-qemu-5.2.0nb8) = 159808 bytes
-BLAKE2s (qemu-6.1.0.tar.xz) = f323be1f281ea362e741c1a9870ea0b0d6cbfaaebea4527ae0658934c0ccc57f
-SHA512 (qemu-6.1.0.tar.xz) = 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c
-Size (qemu-6.1.0.tar.xz) = 111258808 bytes
+BLAKE2s (qemu-6.2.0.tar.xz) = f8a5e369a65ed0903c271712c81a3c8a1b8893f923dfb815a7db1359fc263ece
+SHA512 (qemu-6.2.0.tar.xz) = e9f8231c9e1cfcc41cb47f10a55d63f6b8aee307af00cf6acf64acb7aa4f49fa7e9d6330703a2abea15d8b7bbaba7d3cb08c83edd98d82642367b527df730817
+Size (qemu-6.2.0.tar.xz) = 115667324 bytes
 SHA1 (patch-backends_tpm_tpm__ioctl.h) = fbd6c877ad605f7120290efbb0ac653c69f351de
-SHA1 (patch-configure) = 44c9b9f6e1f25007eed7335bb9c5987efd2ea02c
 SHA1 (patch-hw-mips-Kconfig) = c7199ad26ac45116ab4d38252db4234ae93bdf9a
 SHA1 (patch-hw-mips-mipssim.c) = 1f682b74b34398b3ff15f9e7f24a85f4b8bb4853
 SHA1 (patch-hw_core_uboot__image.h) = 17eef02349343c5fcfb7a4069cb6f8fd11efcb59
@@ -19,10 +18,8 @@
 SHA1 (patch-hw_rtc_mc146818rtc.c) = cc7a3b28010966b65b7a16db756226ac2669f310
 SHA1 (patch-hw_scsi_scsi-disk.c) = fdbf2f962a6dcb1a115a7f8a5b8790ff9295fb33
 SHA1 (patch-hw_usb_dev-mtp.c) = 94ddf53a41cc75810cfece1b8aef1831fab4ce43
-SHA1 (patch-include_sysemu_nvmm.h) = 2cf9ea36c77570136b0678fe3b1c126ca7fa04cd
-SHA1 (patch-meson.build) = 35f4d563e99dcc014a011bb4c7cddefac852d4cf
+SHA1 (patch-meson.build) = 8d9df8f4f02efc67412894ad72d0c53702451394
 SHA1 (patch-net_tap-solaris.c) = cc953c9a624dd55ace4e130d0b31bbfb956c17d5
 SHA1 (patch-roms_u-boot-sam460ex_Makefile) = 3a1bbf19b1422c10ebdd819eb0b711fafc78e2f2
 SHA1 (patch-slirp_src_tcp__subr.c) = bd6d80ecf3baeaf6f8458b2361bcb92298d41f7e
-SHA1 (patch-target_i386_nvmm_nvmm-all.c) = 8f4b51a6460090d7826af1ae02840a208767345b
 SHA1 (patch-target_sparc_translate.c) = 7ec2add2fd808facb48b9a66ccc345599251bf76
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/patches/patch-configure
--- a/emulators/qemu/patches/patch-configure    Thu Dec 16 12:50:08 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-$NetBSD: patch-configure,v 1.34 2021/09/10 13:10:58 nia Exp $
-
-Allow the compiler from NetBSD 9.0.
-
-Requiring a minor version of GCC makes no sense, and indeed,
-the requirement seems to be 7.5.0 because "Ubuntu has that
-version"...
-
-https://github.com/qemu/qemu/commit/56208a0d473c6db263cc333c787ca48b502d72ab
-
---- configure.orig     2021-08-24 17:35:40.000000000 +0000
-+++ configure
-@@ -2099,7 +2099,7 @@ cat > $TMPC << EOF
- #  endif
- # endif
- #elif defined(__GNUC__) && defined(__GNUC_MINOR__)
--# if __GNUC__ < 7 || (__GNUC__ == 7 && __GNUC_MINOR__ < 5)
-+# if __GNUC__ < 7
- #  error You need at least GCC v7.5.0 to compile QEMU
- # endif
- #else
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/patches/patch-include_sysemu_nvmm.h
--- a/emulators/qemu/patches/patch-include_sysemu_nvmm.h        Thu Dec 16 12:50:08 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-$NetBSD: patch-include_sysemu_nvmm.h,v 1.5 2021/08/27 03:32:37 ryoon Exp $
-
-* Do not use CONFIG_NVMM directly to avoid pragma poison error.
-
---- include/sysemu/nvmm.h.orig 2021-08-04 16:29:07.000000000 +0000
-+++ include/sysemu/nvmm.h
-@@ -13,14 +13,22 @@
- #include "config-host.h"
- #include "qemu-common.h"
- 
--#ifdef CONFIG_NVMM
-+#ifdef NEED_CPU_H
-+# ifdef CONFIG_NVMM
-+#  define CONFIG_NVMM_IS_POSSIBLE
-+# endif
-+#else
-+# define CONFIG_NVMM_IS_POSSIBLE
-+#endif
-+
-+#ifdef CONFIG_NVMM_IS_POSSIBLE
- 
- int nvmm_enabled(void);
- 
--#else /* CONFIG_NVMM */
-+#else /* CONFIG_NVMM_IS_POSSIBLE */
- 
- #define nvmm_enabled() (0)
- 
--#endif /* CONFIG_NVMM */
-+#endif /* CONFIG_NVMM_IS_POSSIBLE */
- 
--#endif /* CONFIG_NVMM */
-+#endif /* QEMU_NVMM_H */
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/patches/patch-meson.build
--- a/emulators/qemu/patches/patch-meson.build  Thu Dec 16 12:50:08 2021 +0000
+++ b/emulators/qemu/patches/patch-meson.build  Thu Dec 16 12:59:43 2021 +0000
@@ -1,24 +1,12 @@
-$NetBSD: patch-meson.build,v 1.9 2021/09/05 20:58:16 nia Exp $
+$NetBSD: patch-meson.build,v 1.10 2021/12/16 12:59:43 tnn Exp $
 
-* Add NetBSD support.
 * Detect iconv in libc properly for pkgsrc (pkgsrc removes -liconv)
   to fix qemu-system-aarch64 link.
 * Detect curses (non-ncurses{,w} too)
 
---- meson.build.orig   2021-08-24 17:35:41.000000000 +0000
+--- meson.build.orig   2021-12-14 20:42:02.000000000 +0000
 +++ meson.build
-@@ -237,9 +237,7 @@ if not get_option('hax').disabled()
-   endif
- endif
- if targetos == 'netbsd'
--  if cc.has_header_symbol('nvmm.h', 'nvmm_cpu_stop', required: get_option('nvmm'))
--    nvmm = cc.find_library('nvmm', required: get_option('nvmm'))
--  endif
-+  nvmm = cc.find_library('nvmm', required: get_option('nvmm'))
-   if nvmm.found()
-     accelerators += 'CONFIG_NVMM'
-   endif
-@@ -613,7 +611,7 @@ if have_system and not get_option('curse
+@@ -722,7 +722,7 @@ if have_system and not get_option('curse
        has_curses_h = cc.has_header('curses.h', args: curses_compile_args)
      endif
      if has_curses_h
@@ -27,7 +15,7 @@
        foreach curses_libname : curses_libname_list
          libcurses = cc.find_library(curses_libname,
                                      required: false,
-@@ -631,7 +629,7 @@ if have_system and not get_option('curse
+@@ -740,7 +740,7 @@ if have_system and not get_option('curse
      endif
    endif
    if not get_option('iconv').disabled()
diff -r 5d08c8e5bc3f -r eee0b6eaf59b emulators/qemu/patches/patch-target_i386_nvmm_nvmm-all.c
--- a/emulators/qemu/patches/patch-target_i386_nvmm_nvmm-all.c  Thu Dec 16 12:50:08 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-$NetBSD: patch-target_i386_nvmm_nvmm-all.c,v 1.4 2021/09/05 20:58:16 nia Exp $
-
-Re-add NetBSD 9 support.
-
---- target/i386/nvmm/nvmm-all.c.orig   2021-08-24 17:35:41.000000000 +0000
-+++ target/i386/nvmm/nvmm-all.c
-@@ -750,7 +750,11 @@ nvmm_vcpu_loop(CPUState *cpu)
-         nvmm_vcpu_pre_run(cpu);
- 
-         if (qatomic_read(&cpu->exit_request)) {
-+#if NVMM_USER_VERSION >= 2
-             nvmm_vcpu_stop(vcpu);
-+#else
-+            qemu_cpu_kick_self();
-+#endif
-         }
- 
-         /* Read exit_request before the kernel reads the immediate exit flag */
-@@ -767,6 +771,7 @@ nvmm_vcpu_loop(CPUState *cpu)
-         switch (exit->reason) {
-         case NVMM_VCPU_EXIT_NONE:
-             break;
-+#if NVMM_USER_VERSION >= 2
-         case NVMM_VCPU_EXIT_STOPPED:
-             /*
-              * The kernel cleared the immediate exit flag; cpu->exit_request
-@@ -775,6 +780,7 @@ nvmm_vcpu_loop(CPUState *cpu)
-             smp_wmb();
-             qcpu->stop = true;
-             break;
-+#endif
-         case NVMM_VCPU_EXIT_MEMORY:
-             ret = nvmm_handle_mem(mach, vcpu);
-             break;
-@@ -888,8 +894,12 @@ nvmm_ipi_signal(int sigcpu)
- {
-     if (current_cpu) {
-         struct qemu_vcpu *qcpu = get_qemu_vcpu(current_cpu);
-+#if NVMM_USER_VERSION >= 2
-         struct nvmm_vcpu *vcpu = &qcpu->vcpu;
-         nvmm_vcpu_stop(vcpu);
-+#else
-+        qcpu->stop = true;
-+#endif
-     }
- }
- 



Home | Main Index | Thread Index | Old Index