ChangeLog/7.1: Difference between revisions
(→Arm) |
|||
Line 27: | Line 27: | ||
** FEAT_Debugv8p2 (Debug changes for v8.2) | ** FEAT_Debugv8p2 (Debug changes for v8.2) | ||
** FEAT_Debugv8p4 (Debug changes for v8.4) | ** FEAT_Debugv8p4 (Debug changes for v8.4) | ||
** FEAT_RAS (minimal version only) | ** FEAT_DoubleFault | ||
** FEAT_RAS (Reliability, Availability and Serviceability extension, minimal version only) | |||
** FEAT_RASv1p1 (RAS extension v1.1, minimal version only) | |||
** FEAT_IESB (Implicit error synchronization event) | ** FEAT_IESB (Implicit error synchronization event) | ||
** FEAT_CSV2 (Cache speculation variant 2) | ** FEAT_CSV2 (Cache speculation variant 2) |
Revision as of 15:28, 9 June 2022
System emulation
Incompatible changes
Consult the 'Removed features' page for details of suggested replacement functionality
- The --enable-fips option to QEMU system emulators has been removed
- The -writeconfig option to QEMU system emulators has been removed
- The deprecated x86 CPU model Icelake-Client has been removed
- The deprecated properties loaded (for crypto objects) and opened (for RNG backends) are now read-only
- The deprecated -soundhw option has been replaced by -audio (e.g. -audio pa,model=hda)
New deprecated options and features
Consult the "Deprecated Features" chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.
68k
Alpha
Arm
- The following CPU architecture features are now emulated:
- FEAT_TTL (Translation Table Level)
- FEAT_BBM at level 2 (Translation table break-before-make levels)
- FEAT_Debugv8p2 (Debug changes for v8.2)
- FEAT_Debugv8p4 (Debug changes for v8.4)
- FEAT_DoubleFault
- FEAT_RAS (Reliability, Availability and Serviceability extension, minimal version only)
- FEAT_RASv1p1 (RAS extension v1.1, minimal version only)
- FEAT_IESB (Implicit error synchronization event)
- FEAT_CSV2 (Cache speculation variant 2)
- FEAT_CSV2_2 (Cache speculation variant 2, version 2)
- FEAT_CSV3 (Cache speculation variant 3)
- FEAT_DGH (Data gathering hint)
- FEAT_S2FWB (Stage 2 forced Write-Back)
- FEAT_IDST (ID space trap handling)
- FEAT_HCX (Support for the HCRX_EL2 register)
- The emulated SMMUv3 now advertises support for SMMUv3.2-BBML2
- The xlnx-zynqmp SoC model now implements the 4 TTC timers
- The versal machine now models the Cortex-R5s in the Real-Time Processing Unit (RPU) subsystem
- The virt board now supports emulation of the GICv4.0
- New Aspeed AST1030 SoC and eval board
- New emulated CPU types:
- Cortex-A76
- Neoverse-N1
AVR
Hexagon
HPPA
- Update to SeaBIOS-hppa firmware version 6:
- supports emulated PS/2 keyboard in boot menu when running in GTK UI
- assigns serial port #1 to LASI and serial port #2 to DINO (as on real hardware)
- includes additional STI text fonts
- Fix performance issue with X11 artist framebuffer (makes the GTK UI faster and thus usable)
- Fix X11 graphics cursor position when running HP-UX 10 or HP-UX 11
- Allows the screensaver to blank the screen in X11
- Allows the X11 server to turn cursor on/off
- Fix serial port pass-through from host to guest
- Lots of general code improvements and tidy-ups
LoongArch
- Add initial support for the LoongArch64 architecture, the Loongson 3A5000 multiprocessor SoC, and the Loongson 7A1000 host bridge.
Microblaze
MIPS
Nios2
- Implement the Vectored Interrupt Controller (enable with
-machine 10m50-ghrd,vic=on
). - Implement shadow register sets, and enable them with the VIC.
- Raise supervisor-only instruction exception for
ERET
andBRET
. - Raise misaligned data exception for misaligned memory accesses.
- Raise misaligned destination exception for misaligned branch addresses.
- Raise division error exception for divide by zero and divide overflow (disable with
-cpu diverr_present=off
).
OpenRISC
- The or1k-sim machine now supports 4 16550A UART serial devices, expanded from 1.
PowerPC
Renesas RX
- Fix the
clrpsw
andsetpsw
instructions with respect to changes toPSW.U
. - Fix the
wait
instruction corrupting the PC and settingPSW.I
.
Renesas SH
RISC-V
ISA and Extensions
- Add support for privileged spec version 1.12.0
- Use privileged spec version 1.12.0 for virt machine by default
- Allow software access to MIP SEIP
- Add initial support for the Sdtrig extension
- Optimisations and improvements for the vector extension
- Improvements to the misa ISA string
- Add isa extension strings to the device tree
- Add and enable native debug feature
- Support configurable marchid, mvendorid, mimpid CSR values
- Add support for the Zbkb, Zbkc, Zbkx, Zknd/Zkne, Zknh, Zksed/Zksh and Zkr extensions
- Enforce floating point extension requirements
Machines
- Add support for Ibex SPI to OpenTitan
- Make RISC-V ACLINT mtime MMIO register writable
- Add TPM support to the virt board
- Improvements to RISC-V machine error handling
Fixes and Misc
- Don't allow `-bios` options with KVM machines
- Fix NAPOT range computation overflow
- Fix DT property mmu-type when CPU mmu option is disabled
- Support 64bit fdt addresses
- Fix incorrect PTE merge in walk_pte
- Fixes for accessing VS hypervisor CSRs
- Fixes for accessing mtimecmp
- Add new short-isa-string CPU option
- Disable the "G" extension by default internally, no functional change
- Improvements for virtulisation
- Add zicsr/zifencei to isa_string
- Support for VxWorks uImage
s390x
- Fix condition code generation for the
ICMH
instruction. - Emulate the s390x Vector-Enhancements Facility 2 with TCG
- Remove the old libopcode-based s390 disassembler (use Capstone instead)
- Silence the warning about the msa5 feature when using the "max" CPU on s390x. The "max" CPU now matches the "qemu" CPU of the newest machine type.
SPARC
Tricore
x86
- Support for architectural LBRs on KVM virtual machines.
Xtensa
- Implement cache testing opcodes.
- Add lx106 core.
Device emulation and assignment
ACPI / SMBIOS
Audio
Block devices
Graphics
I2C
Input devices
IPMI
Multi-process QEMU
Network devices
NVDIMM
NVMe
Emulated NVMe Controller
PCI/PCIe
SCSI
SD card
SMBIOS
TPM
USB
VFIO
virtio
Xen
fw_cfg
9pfs
- macOS: Several fixes for recently (in QEMU 7.0) added 9p support for macOS hosts.
virtiofs
Semihosting
Audio
Character devices
Crypto subsystem
Authorization subsystem
GUI
GDBStub
TCG Plugins
Host support
Memory backends
Migration
- Support for zero-copy-send on Linux, which reduces CPU usage on the source host. Note that locked memory is needed to support this.
Monitor
QMP
- The block-export-add QMP command, when exporting an NBD image with dirty bitmaps, now supports passing a specific paired bitmap and node name, rather than a less-specific bitmap name that requires a search for the bitmap through a backing chain of nodes.
HMP
Network
- QEMU can be compiled with the system slirp library even when using CFI. This requires libslirp 4.7.
Block device backends and tools
Tracing
Miscellaneous
- The -m and -boot options are also available via -M mem.* and -M boot.*.
User-mode emulation
binfmt_misc
Hexagon
Nios2
- Fix the
rt_sigreturn
system call. - Fix the
siginfo_t
data forSIGSEGV
.
TCG
ARM
Guest agent
- guest-get-disks can now return NVMe SMART informations (on Linux)
- guest-get-fsinfo can now return NVMe bus-type
- Improve Solaris support
- Add guest-get-diskstats command (for Linux guests only)
Build Information
Python
GIT submodules
Container Based Builds
VM Based Builds
Build Dependencies
- The final Python 3.6 release was 3.6.15 in September 2021. This release series is now End-of-Life (EOL). As a result, we will begin requiring Python 3.7 or newer in QEMU 7.2, which is the next release.
- The minimum supported version of libslirp is 4.1. Please note the QEMU project will drop the slirp submodule in future releases. The QEMU tarball won't embed the code for user mode networking in the future anymore, so that an external libslirp installation will be required.
- QEMU does not ship with the "capstone" disassembler code anymore. If you need disassembler support for certain CPU types (x86, ppc, arm or s390x), you now should make sure to have the capstone package of your OS distribution installed first.
Windows
Testing and CI
- Bump Fedora image version for cross-compilation
Known issues
- see Planning/7.1