Subject: CVS commit: pkgsrc/emulators/qemu
From: Adam Ciarcinski
Date: 2020-04-30 19:16:05
Message id: 20200430171605.2FD74FB27@cvs.NetBSD.org

Log Message:
qemu: updated to 5.0.0

5.0.0:
Incompatible changes
The bluetooth code has been removed without replacement. It was quite neglected \ 
over the years and likely not usable anymore. You can passthrough a dedicated \ 
USB bluetooth dongle to guests on most machines instead if you still need \ 
bluetooth in your guest.
The pc-0.12, pc-0.13, pc-0.14, pc-0.15 machines have been removed. Newer \ 
versions of the machine type should be used instead.
The "prep" ppc machine has been removed. The "40p" machine \ 
should be used now instead.
The "-virtfs_synth" option has been removed. You can use "-fsdev \ 
synth" together with "-device virtio-9p-..." instead.
The "-accel" and "-machine accel=" options are now \ 
incompatible with each other.
The deprecated "[hub_id name]" parameter tuple of 'hostfwd_add' / \ 
'hostfwd_remove' has been removed. Use a "netdev_id" instead.

New deprecated options and features
The "-tb-size N" option has been deprecated. It is replaced by \ 
"-accel tcg,tb-size=N".
The virtio-blk SCSI passthrough feature (" -device \ 
virtio-blk,scsi=on") is deprecated. Use virtio-scsi instead.
The "r4k" mips machine has been deprecated. The "malta" \ 
machine should be used nowadays instead.
Support for using an AArch32 host system to run KVM guests has been deprecated \ 
(because the Linux kernel has dropped its support for this) and will be removed \ 
in a future version of QEMU. AArch32 guests on an AArch64 host are still \ 
supported.

Arm
Support for using an AArch32 host system to run KVM guests is now deprecated \ 
(because the Linux kernel has dropped its support for this) and will be removed \ 
in a future version of QEMU. AArch32 guests on an AArch64 host are still \ 
supported.
Emulation of the following architecture features is now implemented:
- ARMv8.1-VHE
- ARMv8.1-VMID16
- ARMv8.1-PAN
- ARMv8.1-PMU
- ARMv8.2-UAO
- ARMv8.2-DCPoP
- ARMv8.2-ATS1E1
- ARMv8.2-TTCNP
- ARMv8.3-RCPC
- ARMv8.3-CCIDX
- ARMv8.4-PMU
- ARMv8.4-RCPC
The Cortex-M7 CPU is now supported
New board: tacoma-bmc
New board: Netduino Plus 2
New board: Orangepi PC (orangepi-pc)
QEMU now correctly implements trapping of more EL1 system register accesses to \ 
EL2 (eg HCR_EL2 TID1, TID2 bits, HSTR_EL2)
The no-op system registers required for a "trivial Jazelle" \ 
implementation have been added
The DC CVAP and DC CVADP instructions are now supported
Support for blocking semiconsole SYS_READC
the i.MX RNGC device is now supported
the watchdog device is now implemented on the i.MX6 boards
The Cortex-R5 and -R5f CPUs now provide a PMU
The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
The Aspeed AST2600 SoC model now includes the eMMC controller
Under KVM, we now by default stop and restart the guest generic timer counter \ 
when the VM is stopped and started so the guest OS doesn't see surprising time \ 
jumps. (This can be disabled with the kvm-no-adjvtime property.)
The Aspeed AST2400, AST2500, AST2600 SoCs now support the EHCI controller
The z2 and mainstone boards now permit booting with just a kernel image and no \ 
flash image file
The Allwinner SoC model now wires up the USB ports
The integratorcp board now wires up the audio codec controller
The versal board now implements the ADMA DMA controllers
TPM is now supported
The iMX25 now wires up the eSDHC controllers and the USB controllers
The iMX6 machines wire up the USB controllers
the gdbstub now supports SVE registers
virtio-iommu is now supported with machvirt (DT boot only)

HPPA
Artist graphics emulation added.
PS2 keyboard and mouse added to LASI chip.
Accept LDCW to addresses not aligned mod 16.

MIPS
Support for R4000 machine is announced to be deprecated, and will be removed \ 
from code base in QEMU 5.2.
Amended support for MemoryMapID CP0 register.
Amended support for WatchHi CP0 register.
Added support for GINVT instruction.

OpenRISC
Fixed a bug that prevented the DZF bit of the FPCSR being set.

PowerPC
pseries machine type
- No longer require a reconfiguration reboot for a guest selecting XIVE \ 
interrupt controller when ic-mode=dual
- Now consumes less host resources when running a KVM guest with XIVE (with a \ 
recent enough host kernel). This allows running more concurrent guests with KVM \ 
accelerated XIVE.
- New 'kernel-addr' property to control the load address for -kernel
- NVDIMMs with file backend now supported
- If a guest panics with the ibm,os-term RTAS call, the error message it \ 
supplies is now reported
- Added firmware assisted NMI (FWNMI) support
- SLOF updated to work with iommu_platform=on for virtio devices
- Better handling of devices hotplugged early in boot (before the \ 
ibm,client-architecture-support call)
powernv machine type
- Numerous improvements to the model
- Can now run KVM guests under a TCG emulated powernv machine
- Basic POWER10 support
Removed num-chips machine property, use -smp sockets=NN instead
Deprecated the compat= property on CPUs (it's been obsolete for a while with a \ 
pseries specific machine property)
Fixed a longstanding bug if using big-endian ABIv2 binaries with linux-user
Implemented new forms of the slbia instruction present in POWER9

RISC-V
The virt and sifive_u boards now have syscon device tree nodes, which allows the \ 
generic syscon drivers in Linux to control power/reboot.
The GDB stub now allows for D on rv32 and non-D on rv64.
The virt board now contains a Goldfish RTC.
Experimental support for version 0.5 of the draft hypervisor extension has been \ 
added.

s390
Adpater interrupt suppression is now available when running with KVM (previously \ 
disabled due to migration issues); support under tcg has already been available \ 
since 2.10
- enable by specifying the cpu feature "ais=on"
QEMU now warns when it fixes up odd memory sizes for compatibility on compat machines
- Only done on compat machines to avoid breaking incoming migrations. If you \ 
can, fix up the memory size on old machines or switch to a machine type >= \ 
5.0, which supports 1M increments
- The automatic fixup may be removed in a future version.

Files:
RevisionActionfile
1.237modifypkgsrc/emulators/qemu/Makefile
1.66modifypkgsrc/emulators/qemu/PLIST
1.158modifypkgsrc/emulators/qemu/distinfo
1.27modifypkgsrc/emulators/qemu/patches/patch-configure
1.2modifypkgsrc/emulators/qemu/patches/patch-qemu-options.hx
1.1removepkgsrc/emulators/qemu/patches/patch-qemu-doc.texi