Subject: CVS commit: pkgsrc/emulators/qemu
From: Adam Ciarcinski
Date: 2019-08-16 17:12:19
Message id: 20190816151220.1A796FBF4@cvs.NetBSD.org

Log Message:
qemu: updated to 4.1.0

4.1.0:

New deprecated options and features

The "-virtfs_synth" option is now deprecated. Please use "-fsdev \ 
synth" and "-device virtio-9p-..." instead.
The "-numa node,mem" sub-option is now deprecated. Please use \ 
"-numa node,memdev" instead.
Default memory distribution between NUMA nodes is now deprecated. Please specify \ 
memory per NUMA node explicitly using "-numa node,memdev"
Fallback to normal RAM allocation if QEMU is not able to allocate from the \ 
"-mem-path" provided file/filesystem is now deprecated. Make sure that \ 
host has sufficient resources on the filesystem/file pointed be \ 
"-mem-path".

Arm

QEMU now supports emulating an FPU for Cortex-M CPUs, and the Cortex-M4 and \ 
Cortex-M33 now provide the FPU.
The Cortex-R5F now correctly provides an FPU with registers D0-D15 only, rather \ 
than incorrectly providing also D16-D31.
The build config files have been switched to the new Kconfig system, so that a \ 
QEMU with individual boards can be built more easily.
The ARMv8.5-RNG extension is supported, for cpu generated random numbers.
The Exynos4210 SoC model now supports the PL330 DMA controllers.
Some bugs in handling of GICv3 ICC_CTLR_EL3 and ICH_VMCR_EL2 register writes \ 
have been fixed.
The built-in bootloader now handles loading AArch64 kernel Image files which are \ 
larger than 128MB.
The GICv3 now correctly reports GICD_TYPER.SecurityExtn as 0 if GICD_CTLR.DS is 1.
New board model: swift-bmc
New board-model: sbsa-ref (an AArch64 system intended for development of the \ 
server firmware and kernel software stack)
The Aspeed SoC/boards now support the RTC device and the xdma device
The i.mx7 PCI controller emulation has been improved so it can boot current \ 
Linux krenels
The pl031 RTC device now correctly makes the guest RTC track advances in host \ 
RTC time between a VM state save and a later reload.

MIPS

Improved marking referenced memory pages as executable (it is now restricted to \ 
necessary cases only).
Fixed logic errors for certain cases of MFTR and MTTR instruction handling.
Fixed some corner cases of MSA FCLASS.<W|D> instruction handling.
Improved 'division by zero' cases in MSA ASE instructions \ 
DIV_<U|S>.<B|H|W|D> and MOD_<U|S>.<B|H|W|D> - they are \ 
now handled both in QEMU and on the reference hardware the same way.
Fixed emulation of a number of MSA ASE instructions on big endian hosts. \ 
Affected instructions are LD.<B|H|W|D>, ST.<B|H|W|D>, \ 
COPY_S.<B|H|W|D>, COPY_U.<B|H|W>, INSERT.<B|H|W|D>, \ 
ILVEV.<B|H|W|D>, ILVOD.<B|H|W|D>, ILVL.<B|H|W|D>, \ 
ILVR.<B|H|W|D>, PCKEV.<B|H|W|D>, and PCKOD.<B|H|W|D>.
Improved emulation performance of numerous MSA instructions, mostly integer and \ 
data permuting operations.
Nios2

PowerPC

NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI
The TCG implementation of the Power9 DARN instruction now produces random \ 
numbers, instead of indicating failure.
pseries machine now supports KVM acceleration (kernel_irqchip=on) of the XIVE \ 
interrupt controller
pseries now defaults to XIVE interrupt controller if using pseries-4.1 machine \ 
version, POWER9 cpu and a guest OS which supports it
pseries now supports hot-plug of PCI bridges and hot-plug and unplug of devices \ 
under PCI bridges
powernv now supports dumping the device tree with the "dumpdtb" \ 
machine option
A number of vector (Altivec and VSX) instructions have had their implementations \ 
optimized in TCG

RISC-V

Arbitrary bits in SIP can no longer be set.
A new "spike" machine has been defined, with the old machines being \ 
deprecated.
sfence.vma can no longer execute from userspace.
Single-stepping over branches and jumps now works.
A handful of illegal instructions (all compressed) are now handled correctly, as \ 
opposed to being treated as NOPs.
Support for version 1.11.0 of the privileged specification has been added.
SiFive's PRCI now supports reading and writing all the device registers.
The ISA of the target machine can be controlled from the command line.
QEMU provides a cpu-topology device tree node on targets that support device trees.
Load reservations are broken by both store conditional and scheduling.
The 32-bit syscall ABI has various bug fixes.
The PCI bus-range property is now set correctly.

s390

The bios now supports IPL (boot) from ECKD DASD assigned to the guest via vfio-ccw.
The bios now tolerates the presence of bootmap signature entries written by zipl.
All Vector Instructions introduced with the "Vector Facility" have \ 
been implemented for TCG.
The "Vector Facility" is now indicated in the "qemu" cpu \ 
model, which has been updated to a stripped-down z13.
More facilities and gen15 machines (official name not yet known) have been added \ 
to the cpu model.
This also includes the AP Queue Interruption Facility, which allows to use \ 
interrupts for vfio-ap devices, if supported by the host kernel.
vfio-ccw now supports forwarding HALT SUBCHANNEL and CLEAR SUBCHANNEL to the device.

SPARC

sun4m and sun4u fixes when running with -vga none (OpenBIOS)
sunhme fixes when running on a TAP network interface

Tricore

Add FTOIZ/UTOF/QSEED insns
Fix sync of hflags and swapped args of RRPW_INSERT

x86

New Hygon Dhyana CPU model
New Intel SnowRidge CPU model
The host-cache-info CPU option now affects the TOPOEXT CPUID leaf (0x8000001D)
The RDRAND extension is implemented for TCG.
md-clear and mds-no feature flags, for detection and mitigation of MDS \ 
vulnerabilities (CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091)
All x86 CPU models are now versioned
CPU die topology can now be configured using the -smp ...,dies=... option

Xtensa

Implement memory protection unit (MPU) option
Implement Exclusive Access option

Files:
RevisionActionfile
1.216modifypkgsrc/emulators/qemu/Makefile
1.61modifypkgsrc/emulators/qemu/PLIST
1.151modifypkgsrc/emulators/qemu/distinfo
1.2modifypkgsrc/emulators/qemu/patches/patch-Makefile
1.2modifypkgsrc/emulators/qemu/patches/patch-hw_tpm_tpm__ioctl.h
1.1removepkgsrc/emulators/qemu/patches/patch-target_hppa_insns.decode
1.1removepkgsrc/emulators/qemu/patches/patch-target_hppa_mem__helper.c
1.1removepkgsrc/emulators/qemu/patches/patch-target_hppa_translate.c
1.3removepkgsrc/emulators/qemu/patches/patch-ui_curses.c