head 1.3;
access;
symbols
pkgsrc-2020Q4:1.2.0.4
pkgsrc-2020Q4-base:1.2
pkgsrc-2020Q3:1.2.0.2
pkgsrc-2020Q3-base:1.2
pkgsrc-2020Q2:1.1.0.4
pkgsrc-2020Q2-base:1.1
pkgsrc-2020Q1:1.1.0.2
pkgsrc-2020Q1-base:1.1;
locks; strict;
comment @# @;
1.3
date 2021.02.20.22.59.29; author ryoon; state dead;
branches;
next 1.2;
commitid pvG3PIr8gVPOfvIC;
1.2
date 2020.08.12.18.31.27; author ryoon; state Exp;
branches;
next 1.1;
commitid InfvcxEPejytWNjC;
1.1
date 2020.02.06.16.46.17; author kamil; state Exp;
branches;
next ;
commitid kzODRgJAD7BRoDVB;
desc
@@
1.3
log
@Update to 5.2.0
Changelog:
IMPORTANT NOTE: in this release we have switched our build system to internally use Meson. Building should be broadly unchanged for most users, but please see the [[#Build Information|Build Information]] section of the changelog for details and for '''the list of new [[#Build Dependencies |build dependencies]] you now need to install'''.
== System emulation ==
=== Incompatible changes ===
=== New deprecated options and features ===
Consult the [https://www.qemu.org/docs/master/system/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for the full list of historically deprecated features/options.
In particular, note that the Unicore32 and lm32 guest support have been deprecated and will be removed in a future version. They are now only built if explicitly enabled in --target-list.
=== 68k ===
=== Alpha ===
=== Arm ===
* ARMv8.2 FEAT_FP16 (half-precision floating point) is now implemented for AArch32 emulation (AArch64 already supported this)
* AArch64 BTI is now supported in linux-user emulation mode (it was already implemented for system emulation)
* The SMMUv3 model now supports SMMUv3.2 range invalidation
* The sbsa-ref board now has an embedded controller model for guest powerdown and reboot requests
* The sbsa-ref board now has an SBSA-compatible generic watchdog device
* The Raspberry Pi boards now emulate the CPRMAN clock manager device
* Support for KVM on 32-bit host CPUs (deprecated in 5.0) has now been removed. (32-bit KVM guests on 64-bit hosts remain supported.)
* Two new board models in the mps2 family: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based)
* New board models in the raspi family: raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+)
* New Nuvoton iBMC board models: npcm750-evb, quanta-gsj
* The 'max' CPU now implements a 48-bit physical address size when using TCG emulation.
* The 'virt' board supports kvm-steal-time (enabled by default for virt-5.2 and on) so that a guest OS can account for time when its CPUs were not running due to the host not scheduling the corresponding vCPU threads.
=== AVR ===
=== HPPA ===
* Added power button emulation
* Boots NetBSD
* Boots old Linux CDs, e.g debian-0.5 and debian-0.6.1
* Artist framebuffer fixes when running dtwm on HP-UX
* Artist graphics allows screen resolution up to 2048 x 2048 pixels
* fw_cfg interface added
=== Microblaze ===
=== MIPS ===
=== Nios2 ===
=== OpenRISC ===
=== PowerPC ===
* The pseries machine now respects the nvdimm= machine option (previously NVDIMMs could be attached even with nvdimm=off)
* The pseries machine now does a better job of reflecting the user specified NUMA distances in the guest (PAPR limitations mean it's still a pretty poor approximation, though)
* We now fail more gracefully if attempting to run an HPT guest as a nested KVM guest (which isn't supported in the kernel for now)
* spapr_vscsi should now properly report that it does not support hotplug
* The pnv machine now allows firmware images up to 16MiB, instead of just 4 MiB (this matches the limit on physical FSP machines)
=== Renesas RX ===
=== Renesas SH ===
=== RISC-V ===
* Improvements to the Ibex (OpenTitan) PLIC
* OpenSBI v0.8 included by default
* Generic OpenSBI platform used when no -bios argument is supplied
* Support for a noMMU Linux kernel with the `-kernel` option
* A dummy L2 cache controller for the sifive_u is now included
* Support for the SiFive OTP device
* PMPCFG CSR setting bug fixed for RV64
* Improvements to the floating point helpers
* Experimental Hypervisor support updated to v0.6.1 and bug fixes
* Support for NUMA sockets on Virt and Spike Machines
* Support for the Microchip PolarFire SoC Icicle Kit
* Fix for crash seen when running 'poweroff' command on virt machine
* virt and sifive_u machines allow a custom dtb argument
* Support for migrating machines
=== s390 ===
* KVM: The diagnose 0x318 instruction is now supported.
* TCG: More instructions that were introduced with the z14 are now emulated.
* zPCI: vfio-pci devices now report real hardware features for functions, instead of emulated values (needs host kernel support.)
* virtiofs is now also supported on s390x via ccw
=== SPARC ===
* sun4m: fix panic when booting NetBSD with the TCX framebuffer
* sun4u: fix for sabre PCI IRQs being lost due to memory overflow
=== TileGX ===
=== Tricore ===
=== x86 ===
* A new KVM feature which improves the handling of asynchronous page faults is available with ''-cpu ...,kvm-async-pf-int''. This requires Linux 5.8.
=== Xtensa ===
* DFPU coprocessor with single and double precision floating point opcodes is now supported
* NMI is now supported
=== Device emulation and assignment ===
==== ACPI ====
==== Audio ====
==== Block devices ====
==== Graphics ====
==== Input devices ====
==== IPMI ====
==== Network devices ====
==== NVDIMM ====
==== NVMe ====
* Add support for mandatory features of version 1.3 of the NVM Express specification
* Add support for the Abort, Asynchronous Event Request and Get Log Page commands
* Add support for Scatter Gather Lists (supported descriptors: Data Block, Bit Bucket, Segment and Last Segment)
* Allow the device to be configured with the "Admin Only" command set
* Support multiple namespaces through the new nvme-ns device
* The unallocated Intel PCI Vendor and Device ID has been replaced with a QEMU allocated "Red Hat" ID
* Support per-namespace SMART log
==== PCI/PCIe ====
==== SCSI ====
==== SD card ====
==== SMBIOS ====
* The OEM Strings data can now be loaded from a file
==== TPM ====
==== USB ====
==== VFIO ====
==== virtio ====
==== Xen ====
==== fw_cfg ====
==== 9pfs ====
* Significant [https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg05539.html performance improvement of Treaddir] requests.
* A performance warning is now logged on host side if 'msize' is set to a very small value, which especially includes Linux 9P clients not having any user specified 'msize' parameter at all. Simply setting 'msize' (on client/guest side) to any value larger than 8192 will cause the warning to disappear. See [https://wiki.qemu.org/Documentation/9psetup#msize msize documentation] for details.
==== virtiofs ====
* virtiofsd xattrmap option to allow the host to see different xattr names to the guest
* virtiofsd alternate sandbox option for environments where pivot_root isn't available
* virtiofsd 'submount' mechanism (requiring newer guest kernel) allows different host mounts to be seen as separate submounts in the guest, avoiding inode clashes.
==== Semihosting ====
=== Audio ===
=== Character devices ===
* Inverted logic in QAPI handling the "tight" option for abstract UNIX sockets was fixed.
* The QAPI schema now only reports support for abstract UNIX sockets on platforms where it is available (Linux).
=== Crypto subsystem ===
==== experimental qmp interface ====
=== GUI ===
* Spice: add support for SIDE and EXTRA mouse buttons. Improve HiDPI, set physical dimensions of client monitors.
* Build spice and opengl as modules
=== GDBStub ===
=== Host support ===
=== Memory backends ===
=== Migration ===
* A new 'block-bitmap-mapping' migration parameter is added, allowing finer control of which bitmaps to migrate, even when node names differ between source and destination.
* Migration over 'vsock' is now allowed, for nested environments or hosts with hardware that looks like a vsock.
* A new 'calc-dirty-rate'/'query-dirty-rate' call gathers an approximation of the rate at which the guest is dirtying RAM and thus gives an idea about whether precopy migration is likely to proceed.
* The default migration bandwidth has been increased to 1Gbps; users are still encouraged to tune it to their own hardware.
* TLS+multifd is now supported for higher bandwidth encrypted migration.
* Migration with dirty bitmaps has several bugs fixed.
=== Monitor ===
==== QMP ====
* Command block_resize no longer blocks the main loop.
==== HMP ====
* Command block_resize no longer blocks the main loop.
=== Network ===
=== Block device backends and tools ===
* qcow2 files now support extended L2 entries that allow subcluster-based allocation (enable with extended_l2=on when creating the image).
* Using qemu as an NBD client has fewer scenarios where network timeouts stall guest execution
* More explicit errors are reported when use of O_DIRECT fails
* The 'block-export-add' QMP command has been introduced to support qemu-storage-daemon, and replaces the now-deprecated 'nbd-server-add' command.
* The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend.
* qemu-nbd now supports multiple '-B name' options for exposing multiple dirty bitmaps at once; it also supports a new '-A' option for exposing the new "qemu:allocation-depth" metadata context over NBD.
=== Tracing ===
* Add support of dtrace backend on macOS
=== Miscellaneous ===
* The roms/edk2 submodule and the bundled edk2 binaries have been updated to [https://bugs.launchpad.net/qemu/+bug/1852196 edk2-stable202008].
== User-mode emulation ==
* ppc64abi32-linux-user is deprecated and only built when explicitly enabled in--target-list
* tilegx-linux-user is deprecated and only built when explicitly enabled in--target-list
* better reporting when we can't mmap the guest_base we want on systems without MAP_FIXED_NOREPLACE
== TCG ==
== Guest agent ==
* New commands: guest-get-devices, guest-get-disks & guest-ssh-{get,add,remove}-authorized-keys
* Support guest-get-fsinfo for non-PCI virtio devices, too
== Build Information ==
* The build system is now partly based on Meson. However, building is still done with ''configure'' and ''make'' as in previous versions of QEMU.
* Binaries for emulators are placed in the root build directory, for example as ''qemu-system-ppc'' instead of ''ppc-softmmu/qemu-system-ppc''. Symbolic links from the old binary are preserved to simplify the transition.
* In-tree builds are not supported anymore. The build system will try to cater for ''./configure && make && make install'' by building QEMU in a directory named ''build'', but you are encouraged to switch to out-of-tree builds instead.
* ivshmem-client and ivshmem-server are not installed anymore. They are merely examples, and not to be used in production.
* QEMU installations are now relocatable. For example, if QEMU is configured with ''bindir=/usr/local/bin'' and ''datadir=/usr/local/share'', when QEMU is launched as ''/opt/local/qemu-5.2/bin/qemu-system-x86_64'' it will look automatically for data files in ''/opt/local/qemu-5.2/share''. Note that directories configured outside the prefix (as is often the case for ''/etc'' and ''/var'') will not be relocated! Previously this was done only under Windows and only for emulators.
=== Python ===
* Python 3.6 or newer is now required to build QEMU.
=== GIT submodules ===
=== Container Based Builds ===
* All Debian 9 based cross-compiler containers have been updated to Debian 10
=== Build Dependencies ===
* Ninja 1.7 or newer is now required to build QEMU:
* '''$ apt-get install ninja-build''' (Debian/Ubuntu and derivative distros)
* '''$ dnf/yum install ninja-build''' (RHEL/Fedora/CentOS and derivative distros)
* '''$ brew install ninja''' (macOS with HomeBrew)
* '''$ pkg install ninja''' (FreeBSD)
=== Windows ===
* qemu-nbd is now built on mingw, and works for simple cases even if it can't duplicate the full functionality available on Unix systems
=== Testing and CI ===
* a new script can wait on gitlab to finish with a pass/fail status (scripts/ci/gitlab-status)
@
text
@$NetBSD: patch-accel_stubs_Makefile.objs,v 1.2 2020/08/12 18:31:27 ryoon Exp $
Add NVMM support.
--- accel/stubs/Makefile.objs.orig 2020-08-11 19:17:15.000000000 +0000
+++ accel/stubs/Makefile.objs
@@@@ -1,6 +1,7 @@@@
obj-$(call lnot,$(CONFIG_HAX)) += hax-stub.o
obj-$(call lnot,$(CONFIG_HVF)) += hvf-stub.o
obj-$(call lnot,$(CONFIG_WHPX)) += whpx-stub.o
+obj-$(call lnot,$(CONFIG_NVMM)) += nvmm-stub.o
obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
obj-$(call lnot,$(CONFIG_TCG)) += tcg-stub.o
obj-$(call lnot,$(CONFIG_XEN)) += xen-stub.o
@
1.2
log
@qemu: Update to 5.1.0
Changelog:
Highlights include:
ARM: support for ARMv8.2 TTS2UXN architecture feature
ARM: support for ARMv8.5 MemTag architecture feature
ARM: new board support for sonorapass-bmc
ARM: virt: support for memory hot-unplug
ARM: support for nvdimm hotplug for ACPI guests
AVR: new architecture support for AVR CPUs
AVR: new board support for Arduino Duemilanove, Arduino Mega 2560, Arduino Mega, and Arduino UNO
MIPS: support for Loongson 3A CPUs (R1 and R4)
MIPS: performance improvements for FPU and MSA instruction emulation
PowerPC: support for guest error recovery via FWNMI
RISC-V: support for SiFive E34 and Ibex CPUs
RISC-V: new board support for HiFive1 revB and OpenTitan
RISC-V: Spike machine now supports more than 1 CPU
s390: KVM support for protected virtualization (secure execution mode)
x86: improvements to HVF acceleration support on macOS
x86: reduced virtualization overhead for non-enlightened Windows guests via Windows ACPI Emulated Device Table
block: support for 2MB logical/physical blocksizes for virtual storage devices
crypto: support for passing secrets to QEMU via Linux keyring
crypto: support for LUKS keyslot management via qemu-img
NVMe: support for Persistent Memory Region from NVMe 1.4 spec
qemu-img: additional features added for map/convert/measure commands, as well as support for zstd compression
qemu-img: support for new 'bitmap' command for manipulating persistent bitmaps in qcow2 files
virtio: TCG guests can now use vhost-user threads
virtio: vhost-user now supports registering more than 8 RAM slots
and lots more...
@
text
@d1 1
a1 1
$NetBSD: patch-accel_stubs_Makefile.objs,v 1.1 2020/02/06 16:46:17 kamil Exp $
@
1.1
log
@nvmm: Merge NVMM support
NVMM v3 patchset pending upstream.
https://lists.gnu.org/archive/html/qemu-devel/2020-02/msg01405.html
@
text
@d1 1
a1 1
$NetBSD$
d5 1
a5 1
--- accel/stubs/Makefile.objs.orig 2019-12-12 18:20:47.000000000 +0000
d7 1
a7 1
@@@@ -1,5 +1,6 @@@@
d14 1
@