https://wiki.qemu.org/api.php?action=feedcontributions&user=Kostyanf14&feedformat=atomQEMU - User contributions [en]2024-03-28T19:49:25ZUser contributionsMediaWiki 1.39.1https://wiki.qemu.org/index.php?title=ChangeLog/9.0&diff=11690ChangeLog/9.02024-03-04T08:13:43Z<p>Kostyanf14: </p>
<hr />
<div>== System emulation ==<br />
<br />
=== Removed features and incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
* Running QEMU with KVM requires Linux 4.4 or newer. A future version of QEMU will increase the minimum requirement for Arm hosts to Linux 4.19 (also when running KVM); if this is too restrictive for your use case, please contact us at qemu-devel@nongnu.org.<br />
* The behaviour of the '-serial none' option when used together with other '-serial' options has been corrected. Previously when '-serial none' was followed by '-serial something' the '-serial none' was effectively ignored. Now it controls the existence of the first serial port, and the following '-serial' option controls the behaviour of the second serial port; this brings it in to line with how all other cases of multiple '-serial' options work. If you have a command line that was accidentally relying on the old behaviour, you can simply delete the unnecessary '-serial none'.<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
* The CRIS architecture has been marked deprecated<br />
<br />
=== 68k ===<br />
<br />
* Fixed exception frame format for 68010<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* New architectural features now emulated:<br />
** FEAT_NV<br />
** FEAT_NV2<br />
<br />
* New board types:<br />
** b-l475e-iot01a : the B-L475E-IOT01A board (currently minimal support only)<br />
** mps3-an536 : a Cortex-R52 board modelling the AN536 firmware image for the MPS3 development board<br />
** raspi4b : the Raspberry Pi 4 Model B. Note that QEMU does not yet model PCI or ethernet; we hope to implement those devices for the next QEMU release.<br />
<br />
* Changes to existing board types:<br />
** The Freescale i.MX6 now models the cache controller and the PCIe controller<br />
** The Allwinner R40 and Bananapi boards now model the USB controllers, the AHCI/SATA controller and the watchdog timer<br />
** Raspberry Pi boards now support the SPI controller<br />
** The npcm7xx based boards now support the ethernet controllers<br />
** The virt board now wires up non-secure EL2 virtual timer IRQ when EL2 emulation is enabled with 'virtualization=on'.<br />
<br />
Note that when the virt board uses the non-secure EL2 virtual timer IRQ, this will trip a bug in older versions of the EDK2 guest firmware, which causes EDK2 to assert on bootup with "ASSERT [ArmTimerDxe] /home/kraxel/projects/qemu/roms/edk2/ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.c(72): PropSize == 36 || PropSize == 48". If you see that assertion you should do one of:<br />
* update your EDK2 binaries to edk2-stable202311 or newer<br />
* use the 'virt-8.2' versioned machine type<br />
* not use 'virtualization=on'<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
* SeaBIOS-hppa version 16<br />
* 64-bit and 32-bit SeaBIOS firmware binary<br />
* Fixed 32-bit HP-UX crashes on B160L (32-bit) machine<br />
* Fixed NetBSD boot failure due to power button in page zero<br />
* Fixed NetBSD FPU detection failure<br />
* Fixed OpenBSD 7.4 boot failure<br />
* Allows usage of up to 3840 MB of memory (instead of 3 GB)<br />
* Supports the qemu ''--nodefaults'' option<br />
* Added qemu-specific opcodes for "HALT QEMU", "RESET QEMU" and "RESTORE SHR" (restore shadow registers).<br />
* No abort on access failure in Astro/Elroy registers<br />
* Fixed tulip driver in NetBSD<br />
<br />
=== LoongArch ===<br />
<br />
==== ISA and Extensions ====<br />
<br />
==== Machines ====<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
* A bug was fixed in nios2-linux-user that meant async work was being skipped<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
<br />
==== ISA and Extensions ====<br />
* Add support for Zacas extension<br />
* Add amocas.[w,d,q] instructions<br />
* RVA22 profiles support<br />
* Add RVV CSRs to KVM<br />
* Add support for 'B' extension<br />
* Implement optional CSR mcontext of debug Sdtrig extension<br />
* Add support for Zaamo and Zalrsc<br />
* Enable xtheadsync under user mode<br />
<br />
==== Machines ====<br />
* ACPI: Enable AIA, PLIC and update RHCT<br />
* Fix the interrupts-extended property format of PLIC<br />
* Document acpi parameter of virt machine<br />
* Remove group setting of KVM AIA if the machine only has 1 socket<br />
* sifive_u: Update S-mode U-Boot image build instructions<br />
* Support vlenb and vregs[] in KVM<br />
* Support new isa extension detection devicetree properties<br />
* SMBIOS support for RISC-V virt machine<br />
* Add rv32i,rv32e and rv64e CPUs<br />
<br />
==== Fixes and Misc ====<br />
* Fix th.dcache.cval1 priviledge check<br />
* Don't allow write mstatus_vs without RVV<br />
* Fix machine IDs QOM getters<br />
* Fix KVM reg id sizes<br />
* Upgrade OpenSBI from v1.3.1 to v1.4<br />
* pmp: Ignore writes when RW=01 and MML=0<br />
* Don't adjust vscause for exceptions<br />
* Ensure mideleg is set correctly on reset<br />
* Check for 'A' extension on all atomic instructions<br />
<br />
=== s390x ===<br />
<br />
* Fix access register handling in the emulation of the LOAD ADDRESS EXTENDED (LAE) instruction<br />
* Add emulation of CVDG, CVB, CVBY and CVBG instructions<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
<br />
==== Xen emulation under KVM ====<br />
<br />
==== TCG ====<br />
<br />
==== Known issues ====<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
* The 'luks' block device driver now supports creation and usage of detached LUKS header files<br />
<br />
==== Graphics ====<br />
<br />
==== Hyper-V ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
* The ESP SCSI (am53c974/dc390) device has been substantially rewritten, fixing several long-standing bugs and making it easier to maintain in future.<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== UFS ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== vDPA ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
* Fix potential crash if connection is dropped while the TLS handshake is still in progress<br />
<br />
=== Crypto subsystem ===<br />
<br />
* The 'sm4' cipher algorithm is now supported and can be used with the 'luks' block driver<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
* the gdbstub now supports catching syscalls in user-mode<br />
<br />
=== TCG Plugins ===<br />
* vcpu_init callback will now always be in the vcpu context<br />
* A new API for accessing register values is now available (and used by execlog)<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
* Memory backends specified on the QEMU commandline can now be preallocated concurrently/asynchronously in some configurations, to speedup QEMU startup with preallocation on multiple memory backends: one requirement is that memory backends that are getting preallocated have a "thread-context" set.<br />
* QEMU 8.2 accidentally allowed for creation of memory backends with sizes that are not aligned to the (huge) page size. This has been fixed.<br />
<br />
=== Migration ===<br />
<br />
* Fixed migration for SUSPENDED VM, where we used to ignore the SUSPENDED state and kick off the VM even if it was suspended before the migration.<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
=== Tracing ===<br />
<br />
=== Semihosting ===<br />
<br />
=== Miscellaneous ===<br />
<br />
* During startup QEMU system emulators will raise the max file descriptors soft limit to match the hard limit<br />
<br />
== User-mode emulation ==<br />
<br />
=== runtime ===<br />
<br />
=== binfmt_misc ===<br />
<br />
=== alpha ===<br />
<br />
=== arm/arm64/aarch64 ===<br />
<br />
=== LoongArch ===<br />
<br />
=== HPPA ===<br />
<br />
=== s390 ===<br />
<br />
=== x86 ===<br />
<br />
== TCG ==<br />
<br />
=== Record/Replay===<br />
<br />
* fixed record/replay to avoid problems with partial chardev drains<br />
* updated replay-dump.py for current ABI<br />
<br />
=== RISC-V ===<br />
<br />
== Guest agent ==<br />
<br />
* Fix build on Solaris<br />
* Improve help for --allow-rpcs and --block-rpcs command line options<br />
* Fix guest-get-fsinfo when a volume has more than one disk (Windows only)<br />
<br />
== Build Information ==<br />
<br />
=== Build Dependencies ===<br />
* The OpenBSD VM was updated to 7.4<br />
<br />
=== Docker Tweaks ===<br />
<br />
=== Windows ===<br />
<br />
* 32-bit Windows is no longer supported as a host OS; use a 64-bit Windows host instead.<br />
<br />
=== Testing and CI ===<br />
* The timeout for TCG tests was raised to 120s (for the benefit of TCI)<br />
<br />
== Known issues ==<br />
<br />
* See https://gitlab.com/qemu-project/qemu/-/milestones/11</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/8.2&diff=11566ChangeLog/8.22023-12-18T13:57:48Z<p>Kostyanf14: </p>
<hr />
<div>== System emulation ==<br />
<br />
=== Removed features and incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
* The HAX accelerator is not supported anymore; [https://github.com/intel/haxm#status the project has been retired]. Use "whpx" or "hvf" respectively on Windows and macOS.<br />
* The old machine types pc-i440fx-1.4 to pc-i440fx-1.7 have been removed; use a newer machine type instead<br />
* In addition to <tt>-audiodev</tt> and <tt>-audio</tt>, QEMU does not create default audio backends anymore if the <tt>-nodefaults</tt> option are used on the command line.<br />
* If an audio backend is created with <tt>-audiodev</tt>, each audio client (a sound card or VNC) that wants to use it has to specify an <tt>audiodev=</tt> property. Previously, the first audiodev command line option would be used as a fallback. However <tt>-audio</tt> can now be used to configure one or more default audio backends, in lieu of the (deprecated and now removed) <tt>QEMU_AUDIO_*</tt> environment variables.<br />
* Running QEMU with KVM requires Linux 4.4 or newer. A future version of QEMU will increase the minimum requirement for Arm hosts to Linux 4.19 (also when running KVM); if this is too restrictive for your use case, please contact us at qemu-devel@nongnu.org.<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
* The Macintosh Quadra 800 (q800) emulation now can boot:<br />
** MacOS 7.1 - 8.1, with or without virtual memory enabled<br />
** A/UX 3.0.1<br />
** NetBSD 9.3<br />
** Linux (via EMILE)<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
* The following machines support the new <tt>audiodev</tt> property: integratorcp, musicpal, n800, n810, realview-eb, realview-eb-mpcore, realview-pb-a8, realview-pbx-a9, akita, borzoi, spitz, terrier, versatilepb, versatileab, vexpress-a9, vexpress-a15, xlnx-zcu102 z2<br />
* Xilinx Versal board now models the CFU/CFI<br />
* Xilinx Versal board now models the TRNG device<br />
* New CPU types:<br />
** cortex-a710<br />
** neoverse-n2<br />
* New architectural features now emulated:<br />
** FEAT_PACQARMA3<br />
** FEAT_EPAC<br />
** FEAT_Pauth2<br />
** FEAT_FPAC<br />
** FEAT_FPACCOMBINE<br />
** FEAT_TIDCP1<br />
** FEAT_MOPS<br />
** FEAT_HBC<br />
** FEAT_HPMN0<br />
* The SMMUv3 now advertises the SMMUv3.1-XNX feature<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
* New 64-bit PA-RISC 2.0 CPU emulation, enable with "-cpu hppa64" and "-cpu hppa" for 32-bit CPU (default)<br />
* New HP C3700 machine emulation, includes an emulated Astro memory controller and four Elroy PCI bridges<br />
* Start 64-bit machine with "-machine C3700" and 32-bit CPU with "-machine B160L"<br />
* Improved TLB performance<br />
* Block-TLB (BTLB) support for 32-bit PA-RISC CPUs<br />
* New SeaBIOS-hppa version 12 to support HP C3000 with Astro & Elroy<br />
<br />
=== LoongArch ===<br />
==== ISA and Extensions ====<br />
* Implement LASX extension<br />
* Implement PRELDX instruction<br />
* Allow user enable/disable LSX/LASX features<br />
* Add avail_XXX functions to check XXX instruction<br />
* Fix ASXE flag conflict<br />
<br />
==== Machines ====<br />
* Support LoongArch32 cpu la132<br />
* Support cpu model 'max'<br />
* Support 4K page size<br />
* Implement query-cpu-model-expansion<br />
* Remove unused 'loongarch_virt_pm' region<br />
* Remove unused ISA Bus<br />
* Remove unused ISA UART<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
* The <tt>fuloong2e</tt> machine supports the new <tt>audiodev</tt> property.<br />
<br />
=== Nios2 ===<br />
* signal tests disabled due to bitrot<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
* The <tt>pegasos2</tt> and <tt>40p</tt> machines support the new <tt>audiodev</tt> property.<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
==== ISA and Extensions ====<br />
* Add zmmul isa string<br />
* Add smepmp isa string<br />
* Add RISC-V vector cryptographic instruction set support<br />
* Implement WARL behaviour for mcountinhibit/mcounteren<br />
* Add Zihintntl extension ISA string to DTS<br />
* Fix zfa fleq.d and fltq.d<br />
* Add RISC-V KVM AIA Support<br />
* Fix riscv,pmu DT node path in the virt machine<br />
* Update CSR bits name for svadu extension<br />
* Mark zicond non-experimental<br />
* Align the AIA model to v1.0 ratified spec<br />
* Use env_archcpu for better performance<br />
* Rename ext_icboz to ext_zicboz<br />
* Rename ext_icbom to ext_zicbom<br />
* Rename ext_icsr to ext_zicsr<br />
* Rename ext_ifencei to ext_zifencei<br />
* Add RISC-V Virtual IRQs and IRQ filtering support<br />
* Rename epmp to smepmp and expose the extension<br />
* Support zicntr/zihpm flags and disable support<br />
* Update RISC-V vector crypto to ratified v1.0.0<br />
* Support discontinuous PMU counters<br />
<br />
==== Machines ====<br />
* Remove 'host' CPU from TCG<br />
* riscv_htif Fixup printing on big endian hosts<br />
* Add support for the max CPU<br />
* Detect user choice in TCG<br />
* Remove RVG warning<br />
* Change default linux-user cpu to 'max'<br />
* Update 'virt' machine core limit<br />
* Add query-cpu-model-expansion API<br />
<br />
==== Fixes and Misc ====<br />
* Fix page_check_range use in fault-only-first<br />
* Fix upper/lower mtime write calculation<br />
* Make rtc variable names consistent<br />
* Use abi type for linux-user target_ucontext<br />
* Fix satp_mode_finalize() when satp_mode.supported = 0<br />
* Fix non-KVM --enable-debug build<br />
* Add new extensions to hwprobe<br />
* Use accelerated helper for AES64KS1I<br />
* Allocate itrigger timers only once<br />
* Respect mseccfg.RLB for pmpaddrX changes<br />
* Don't read the CSR in riscv_csrrw_do64<br />
* Clear CSR values at reset and sync MPSTATE with host<br />
* Fix the typo of inverted order of pmpaddr13 and pmpaddr14<br />
* Replace GDB exit calls with proper shutdown<br />
* Support KVM_GET_REG_LIST<br />
* Deprecate capital 'Z' CPU properties<br />
* Fix vfwmaccbf16.vf<br />
* Clear pmp/smepmp bits on reset<br />
* Ignore pmp writes when RW=01<br />
* Correct CSR_MSECCFG operations<br />
* Clear the Ibex/OpenTitan SPI interrupts even if disabled<br />
* Set the OpenTitan priv to 1.12.0<br />
* Add Zicboz block size to hwprobe<br />
* Create the virt machine FDT before machine init is complete<br />
* Don't verify ISA compatibility for zicntr and zihpm<br />
* Fix SiFive E CLINT clock frequency<br />
* Fix invalid exception on MMU translation stage<br />
* Fix mxr bit behavior<br />
<br />
=== s390x ===<br />
<br />
* Emulated VFMIN and VFMAX instructions now correctly raise a specification exceptions when bits 1-3 of M5 are set<br />
* Fixed emulated VSTL instruction with a large length<br />
* Fixed emulated VREP instruction to use a 16-bit immediate<br />
* Fixed the "ignored match" case in the emulated VSTRS instruction<br />
* Enable crypto adapter passthrough (vfio-ap) for protected virtualization guests<br />
* Support s390x CPU topology (books and drawers, STSI 15.1.x instruction, PTF instruction) with KVM<br />
<br />
=== SPARC ===<br />
<br />
* Convert instruction translator to use decodetree<br />
<br />
=== Tricore ===<br />
* Added TC37x CPU that implements ISA v1.6.2<br />
* Added CRCN, FTOU, FTOHP, and HPTOF instructions<br />
* Fixed RCPW/RRPW_INSERT instructions for width=0<br />
* Fixed RCRR_INSERT using the wrong destination register<br />
* Fixed FTOUZ being only available from ISA v1.3.1 upwards<br />
<br />
=== x86 ===<br />
<br />
==== Xen emulation under KVM ====<br />
<br />
* Support PV console and network devices.<br />
* Bug fixes to support running Xen PV guests under "shim", documented in the [https://qemu-project.gitlab.io/qemu/system/i386/xen.html "Xen HVM guest support"] page.<br />
* Simplify command line for block and network devices.<br />
<br />
==== TCG ====<br />
* Support for SHA instructions.<br />
<br />
==== Known issues ====<br />
* [since 8.1] Windows German version might fail to recognize NIC, for possible workaround[s] see: https://gitlab.com/qemu-project/qemu/-/issues/774<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
* <span id="virtio-sound"></span>Added virtio-sound device which implements capture and playback from inside a guest using the configured audio backend of the host machine. It is documented in the [https://qemu-project.gitlab.io/qemu/system/devices/virtio-snd.html "Device Emulation / virtio sound"] page.<br />
<br />
==== Block devices ====<br />
<br />
* Parallels Format Driver<br />
** Improved 'qemu-img check' facility<br />
*** Recover from broken data_off in the header<br />
*** Drop clusters outside of the image file<br />
*** De-duplicate clusters located on the same offset in the host file<br />
** Introduced ability to execute check automatically (if disk image is opened in read/write mode) if corruption is detected by open<br />
** Cluster allocation is now based on the cluster used bitmap (clusters could be allocated in holes inside image file)<br />
** Minimal DISCARD & WRITE_ZEROES support<br />
<br />
==== Graphics ====<br />
* New virtio-gpu '''rutabaga''' device. It allows various abstractions of GPU and display virtualization, coming from the Android/CrosVM graphical stack [https://crosvm.dev/book/appendix/rutabaga_gfx.html Rutabaga doc]. This should help [https://developer.android.com/studio/releases/emulator Android Emulator] use upstream QEMU, and offers alternative solutions (or context types) than [https://docs.mesa3d.org/drivers/virgl/ virgl].<br />
* ati-vga pixman-less support and fixes<br />
* virtio-gpu blob=true VM can now be migrated<br />
<br />
==== Hyper-V ====<br />
<br />
* New Hyper-V Dynamic Memory protocol device '''hv-balloon'''. This driver is like '''virtio-balloon''' on steroids for Windows guests: it allows both changing the guest memory allocation via ballooning and inserting pieces of extra RAM into it on demand from a provided memory backend via Windows-native Dynamic Memory protocol.<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
==== PCI/PCIe ====<br />
* Added Astro Memory controller with Elroy PCI host busses for PA-RISC (hppa) machines<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== UFS ====<br />
* Support for UFS emulation through the new ufs, ufs-lu devices based on spec version v3.1<br />
* Support for multiple logical units through the ufs-lu device<br />
* Support for UFS initialisation<br />
* Support for SCSI commands including read/write.<br />
* Support for query request commands<br />
* Typical usage:<br />
-drive file=<file>,if=none,id=<drive_id><br />
-device ufs,serial=<serial>,id=<bus_name>, nutrs=<N[optional]>,nutmrs=<N[optional]><br />
-device ufs-lu,drive=<drive_id>,bus=<bus_name><br />
<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
* P2P support for VFIO migration <br />
* Removal of NVIDIA V100 GPU with NVLink2 support (PPC)<br />
* Dynamic MSI-X allocation support<br />
* ramfb migration support<br />
* Support for non 64b IOVA space<br />
* Preparatory changes for new IOMMUFD backend <br />
<br />
<br />
==== virtio ====<br />
* virtio-mem now supports to dynamically consume multiple memslots instead of statically a single big one. The feature can be enabled using "dynamic-memslots=on", which can severely reduce KVM memory slot metadata overhead with large virtio-mem devices that only expose a small amount of memory to the VM. Note that the feature is incompatible with vhost devices that provide less than 509 memslots, like most vhost-user devices.<br />
* Added virtio-sound device. See [[ChangeLog/8.2#virtio-sound|Audio section/virtio-sound]]<br />
<br />
==== vDPA ====<br />
<br />
==== Xen ====<br />
<br />
* Support PV unplug for AHCI disks with the q35 platform.<br />
* Allow creation of PV console devices from the command line.<br />
* Allow creation of PV network devices, including '<tt>-nic xxx,model=xen-net-device</tt>' and the default NIC.<br />
* Support '<tt>-drive file=FILENAME,if=xen</tt>' for creating PV block devices with automatic names.<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
* Added virtio-sound device. See [[ChangeLog/8.2#virtio-sound|Audio section/virtio-sound]]<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
* cocoa: add zoom-to-fit display option<br />
* gtk: various minor fixes<br />
<br />
=== GDBStub ===<br />
* fixes cases where wrong threads were reported to gdb<br />
<br />
=== TCG Plugins ===<br />
* fix bug in reporting too many instructions to qemu_plugin_tb_n_insns()<br />
* fix locking on execlog<br />
* windows support<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
* memory-backend-file now supports the "rom" parameter. "share=off,readonly=off,rom=on" can be used for VM-templating with R/O files: open the file R/O, but create writable RAM instead of Read Only Memory (ROM).<br />
* "VM templating" documentation was added<br />
<br />
=== Migration ===<br />
<br />
* Legacy compression migration is deprecated ("compress" as capability, "compress-level", "compress-threads", "compress-wait-thread", "decompress-threads" as parameters). Suggest to use multifd compression instead.<br />
* Block migration is deprecated. QMP command "migrate" parameters "blk" and "inc" are deprecated. Suggest to use driver-mirror with NBD instead. <br />
* Fixed race conditions for postcopy migration when preempt mode is enabled.<br />
* Postcopy recovery now allows network failure to happen even during RECOVER phase.<br />
* Added migration parameter "avail-switchover-bandwidth" migration parameter, can be used when the user observes extremely slow bandwidth during migration, causing migration to never complete. <br />
* Initial part of migration mode "cpr-reboot" integrated.<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
* The qemu NBD implementation for both server and client now supports the recent NBD protocol extension of 64-bit extended headers. When both sides of an NBD connection support this extension, commands like write zeroes or block status can operate on 64-bit effect lengths, rather than being capped to transaction sizes smaller than 4G.<br />
<br />
=== Tracing ===<br />
<br />
=== Semihosting ===<br />
<br />
=== Miscellaneous ===<br />
* Allow '''dump-guest-memory''' to output '''standard kdump''' format<br />
<br />
== User-mode emulation ==<br />
=== runtime ===<br />
<br />
Since this release, qemu linux-user implements and provides vdso for most popular architectures.<br />
<br />
=== binfmt_misc ===<br />
<br />
=== alpha ===<br />
* Emulated /proc/cpuinfo output in linux-user<br />
<br />
=== arm/arm64/aarch64 ===<br />
* Emulated /proc/cpuinfo output in linux-user<br />
<br />
=== LoongArch ===<br />
* Support LASX/LSA sigcontext save and restore<br />
<br />
=== HPPA ===<br />
<br />
=== s390 ===<br />
<br />
=== x86 ===<br />
<br />
== TCG backends ==<br />
<br />
=== RISC-V ===<br />
<br />
== Guest agent ==<br />
* Updated docs about `guest-exec` command results<br />
* Fixed memory leak in `guest-exec`<br />
<br />
== Build Information ==<br />
<br />
* Coding style has been updated to allow loop variables<br />
* It is possible to build a non-relocatable binary of QEMU with the configure option <tt>--disable-relocatable</tt>. The default remains a relocatable install (that is, all the directories within the install prefix are computed based on the path to the executable).<br />
<br />
=== Build Dependencies ===<br />
* Building QEMU now requires Python 3.8. As a consequence, building on Debian 10 is not supported anymore (unless a newer version of Python is installed by other means).<br />
* Building QEMU now uses the tomli library if Python is older than version 3.11. However, version 2.0.1 is bundled in case tomli is not installed on the host.<br />
* The libfdt library is no longer bundled with QEMU. However, if QEMU is configured with --enable-download and the library is absent, then it will be downloaded and built together if any emulators need it.<br />
* The [https://www.pixman.org/ Pixman] library is no longer strictly required. The VC, VNC, Gtk, Spice, screendump features and a few devices still require it.<br />
* When running <tt>make check-avocado</tt>, the Avocado testing framework and pycdlib must be present if the build tree was configured with <tt>--disable-download</tt>. Until 8.1, Avocado was always downloaded from PyPI.<br />
<br />
=== Docker Tweaks ===<br />
<br />
* debian-i686 replaces fedora-i386 for 32 bit x86 cross builds<br />
* debian-am64 and debian-native merged into a common debian container built from lcitool for latest deps<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
* ccache has been enabled for CI builds<br />
* container backend is now selected by configure script<br />
<br />
== Known issues ==<br />
<br />
* See https://gitlab.com/qemu-project/qemu/-/milestones/10</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/8.1&diff=11399ChangeLog/8.12023-07-11T16:55:23Z<p>Kostyanf14: guest agent updates</p>
<hr />
<div>== System emulation ==<br />
<br />
=== Removed features and incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
* The "-singlestep" command line option is deprecated, as it was very misleadingly named. Its replacement is "-one-insn-per-tb" (for the user-mode emulator) or "-accel one-insn-per-tb=on" (for the system-mode emulator)<br />
* The "-fsdev proxy" and "-virtfs proxy" command line options are deprecated ([https://github.com/qemu/qemu/commit/71d72ececa086114df80fe4cc04d701b59002eb2 commit] / [https://qemu-project.gitlab.io/qemu/about/deprecated.html#fsdev-proxy-and-virtfs-proxy-since-8-1 notes]).<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* KVM VMs on a host which supports MTE (the Memory Tagging Extension) can now use MTE in the guest<br />
* Pointer-authentication information is now reported to the gdbstub (a GDB 13 or later will produce better backtraces when pauth is in use by the guest)<br />
* Orangepi-PC, Cubieboard: Add Allwinner WDT watchdog emulation<br />
* mcimxd7-sabre, mcimx6ul-evk: The second ethernet controller PHY is now usable<br />
* fsl-imx6: The SNVS is now implemented, sufficient for the guest to be able to shut down the machine<br />
* The SMMUv3 model can now emulate stage-2 translations (but only as an alternative to, not together with, stage-1)<br />
* Debugging via the gdbstub is now supported when using the hvf acceleration on macos hosts<br />
* xlnx-versal board now emulates a CANFD controller<br />
* sbsa-ref now provides the GIC ITS<br />
* New board model: bpim2u (Banana Pi BPI-M2 Ultra)<br />
* TCG plugin memory instrumentation now catches all SVE accesses<br />
* New CPU type: neoverse-v1 (Cortex Neoverse-V1)<br />
* AES instructions can use AES acceleration on the host processor<br />
* New architectural features now emulated:<br />
** FEAT_PAN3 (Support for SCTLR_ELx.EPAN)<br />
** FEAT_LSE2 (Large System Extensions v2)<br />
** FEAT_RME (Realm Management Extensions) -- support is currently experimental only<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
* New SeaBIOS-hppa version 8 firmware<br />
* Fixes boot failure of Debian-12 install CD-ROM (ramdisc could not be loaded)<br />
* Fixes operating system boot and reboot issues on HP-UX and Linux with SMP installations<br />
* Enables PSW-Q bit by default (for MPE-UX operating system)<br />
* Show QEMU version in firmware boot menu<br />
* Adds EXIT menu entry to firmware boot menu<br />
* Enhances PDC CHASSIS codes debug possibilty<br />
<br />
=== LoongArch ===<br />
* Implement LSX extension<br />
* Various fixes<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
* Support for emulation of MXU instructions<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
* Allow FPCSR special purpose register to be accessed in user mode<br />
* Configure FPU to detecting tininess before rounding to align QEMU with architecture specification<br />
<br />
=== PowerPC ===<br />
* TCG SMT support, allowing pseries and powernv to run with up to 8 threads per core<br />
* Fix timebase synchronisation improving stability of SMP machines that update TB (e.g., powernv running KVM)<br />
* Implement PMU interrupt for POWER CPUs, enabling perf to sample cycle counter<br />
* ppc440 cleanups<br />
* Power9 DD2.2 CPU model<br />
* Use SMT4 small core PVRs for Power9/Power10<br />
* XIVE2 model improvements<br />
* Decrimenter, larx/stdx, doorbell, PMU correctness improvements<br />
* GDB debugging fixes<br />
* Power10 xscom models<br />
* Support for irq monitor command<br />
* AES instructions can use AES acceleration on the host processor<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
==== ISA and Extensions ====<br />
* Support subsets of code size reduction extension<br />
* A large collection of mstatus sum changes and cleanups<br />
* Zero init APLIC internal state<br />
* Implement query-cpu-definitions<br />
* Fix Guest Physical Address Translation<br />
* Make sure an exception is raised if a pte is malformed<br />
* Move zc* out of the experimental properties<br />
* Mask the implicitly enabled extensions in isa_string based on priv version<br />
* Updates and improvements for Smstateen<br />
* Support disas for Zcm* extensions<br />
* Support disas for Z*inx extensions<br />
* Add vector registers to log<br />
* AES instructions can use AES acceleration on the host processor<br />
* Add disassembly support for XVentanaCondOps<br />
* Add disassembly support for XThead* instructions<br />
* Add syscall riscv_hwprobe<br />
* Add support for BF16 extensions<br />
* Add support for the Zfa extension<br />
<br />
==== Machines ====<br />
* Add signature dump function for spike to run ACT tests<br />
* Add Ventana's Veyron V1 CPU<br />
* Assume M-mode FW in pflash0 only when "-bios none"<br />
* Support using pflash via -blockdev option<br />
* Fix veyron-v1 CPU properties<br />
* opensbi: Upgrade from v1.2 to v1.3<br />
* Support the watchdog timer of HiFive 1 rev b<br />
* Add RVV registers to log<br />
<br />
==== Fixes and Misc ====<br />
* Fix invalid riscv,event-to-mhpmcounters entry<br />
* Fix itrigger when icount is used<br />
* Fix mstatus.MPP related support<br />
* Fix the H extension TVM trap<br />
* Restore the predicate() NULL check behavior<br />
* Skip Vector set tail when vta is zero<br />
* Fixup PMP TLB cacheing errors<br />
* Writing to pmpaddr and MML/MMWP correctly triggers TLB flushes<br />
* Fixup PMP bypass checks<br />
* Deny access if access is partially inside a PMP entry<br />
* Fix QEMU crash when NUMA nodes exceed available CPUs<br />
* Fix pointer mask transformation for vector address<br />
* Remove the check for extra Vector tail elements<br />
* Smepmp: Return error when access permission not allowed in PMP<br />
* Fixes for smsiaddrcfg and smsiaddrcfgh in AIA<br />
* Use xl instead of mxl for disassemble<br />
* Fix mstatus related problems<br />
* Fix the xlen for data address when MPRV=1<br />
* Only build qemu-system-riscv$$ on rv$$ host<br />
* Generate devicetree only after machine initialization is complete<br />
* virt: Convert fdt_load_addr to uint64_t<br />
* KVM: fixes and enhancements<br />
<br />
=== s390x ===<br />
<br />
* Fixed emulation of LDER, LCBB, LOCFHR, MXDB, MXDBR, EPSW, MDEB, MDEBR, MVCRL and LRA instructions<br />
* Fixed CPU address returned by STIDP<br />
* Fixed a problem with the EXECUTE instruction and relative branches<br />
* Make the s390-ccw bios compilable with Clang in conjunction with binutils 2.40<br />
<br />
=== SPARC ===<br />
<br />
* Fix block device error when trying to boot niagara machine<br />
* Allow keyboard language DIP switches to be set via the -global escc.chnA-sunkbd-layout option<br />
* Update target/sparc to use tcg_gen_lookup_and_goto_ptr() for improved performance<br />
<br />
=== Tricore ===<br />
* Handles PCXI and ICR registers correctly for ISA version 1.6.1 upwards<br />
* Added POPCNT.W, LHA, CRC32L.W, CRC32.B, SHUFFLE, SYSCALL, and DISABLE instructions<br />
* Implemented privilege levels<br />
* Introduced TC37x CPU that supports ISA v1.6.2<br />
* Fix out of bounds index for instructions using 64 register pairs<br />
<br />
=== x86 ===<br />
* New CPU model GraniteRapids.<br />
* Default to SMBIOS 3.0 information<br />
==== TCG ====<br />
* The following features are now exposed by TCG (but were already implemented): RDSEED, XSAVEERPTR, 3DNOWPREFETCH, WBNOINVD<br />
* RDPID is now implemented by TCG<br />
* SYSCALL is now implemented by TCG in 32-bit emulators (only for AMD processors; Intel processors hide the feature unless the processor is in long mode).<br />
* AES instructions can use AES acceleration on the host processor<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
* add "virtio-multitouch-pci", a multitouch-capable input device<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
* Improved e1000e and igb emulation<br />
* New CANFD controller emulation, Xilinx Versal<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
==== PCI/PCIe ====<br />
* New QMP commands to inject CXL General Media events, DRAM events and Memory Module events<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
* Added support for the sun40i-a64 SoC<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
* Added TPM TIS I2C device model<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
* VFIO migration is not experimental anymore<br />
* Support for transferring VFIO device data while the VM is still running<br />
<br />
==== virtio ====<br />
* asymmetric crypto support for cryptodev-vhost-user<br />
* virtio-blk: zoned device emulation<br />
<br />
==== vDPA ====<br />
* shadow virtqueue offload support for vhost-vdpa<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
* [https://github.com/qemu/qemu/commit/f6b0de53fb87ddefed348a39284c8e2f28dc4eda Security fix] for CVE-2023-2861.<br />
* [https://github.com/qemu/qemu/commit/71d72ececa086114df80fe4cc04d701b59002eb2 'Proxy' backend is deprecated].<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
* new PipeWire audio backend (<tt>-audiodev pipewire</tt>)<br />
<br />
=== Character devices ===<br />
<br />
* It's now possible to specify the input independently from the output with ''-chardev file'' (e.g. ''-chardev file,id=repro,path=/dev/null,input-path=input.txt'')<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
* gtk: enable multi-touch events<br />
* sdl: various keyboard grab fixes<br />
* dbus: add multi-touch and win32 support<br />
<br />
=== GDBStub ===<br />
* debugging linux-user guests now report correct pid<br />
* now support "info proc" and the host IO features<br />
* properly respond to "b" packet when reverse debugging<br />
<br />
=== TCG Plugins ===<br />
* cputlb API change now forces slow path for all memory helpers under instrumentation<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
=== Tracing ===<br />
* The final parts of per-vcpu trace events where removed. Those looking to monitor TCG code should look at https://qemu.readthedocs.io/en/latest/devel/tcg-plugins.html<br />
<br />
=== Semihosting ===<br />
<br />
=== Miscellaneous ===<br />
* Command-line parsing of sizes using a fraction of a scale (such as "1.5M") has been improved: it is now possible to write ".5G" as a synonym for "512M", and no longer possible to cause qemu to read out of bounds on garbage input such as "9.999e999".<br />
<br />
== User-mode emulation ==<br />
=== runtime ===<br />
<br />
* Fixed fcntl() and fcntl64() to return O_LARGEFILE for 32-bit targets<br />
* Added correct checks for accept4(SOCK_NONBLOCK) syscall flags<br />
* Fixed accept4(SOCK_NONBLOCK) syscall for hppa, mips and alpha targets<br />
* Enchanced strace output for pread64() and pwrite64()<br />
* QEMU can emulate /proc/self/smaps<br />
* Several gdbstub bugfixes and improvements<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== LoongArch ===<br />
<br />
=== Nios2 ===<br />
<br />
=== HPPA ===<br />
=== s390 ===<br />
* Support for ELF hwcaps<br />
<br />
=== x86 ===<br />
* On Linux, qemu-i386 will run 32-bit programs as if they were ran by a 64-bit kernel, if the chosen CPU model includes the LM feature. This includes the ability to execute system calls using the SYSCALL instruction<br />
* The SYSCALL instruction can also be used with qemu-i386 on 32-bit AMD CPU models<br />
* User-mode emulation will not warn about features that TCG does not implement, if those features are not visible to user mode (e.g. PCID)<br />
* The newly-implemented RDPID instruction will return the current CPU and NUMA node ids<br />
<br />
=== Xtensa ===<br />
<br />
== TCG backends ==<br />
* Generated TCG code respects guest memory ordering even on weakly-ordered machines, allowing parallel emulation of e.g. x86 on ARM<br />
<br />
=== RISC-V ===<br />
<br />
* Support Zba, Zbb, and Zicond standard extensions.<br />
<br />
== Guest agent ==<br />
* The guest-exec command supports values "stdout", "stderr", "merged" values for the capture-output parameter. The <tt>true</tt> and <tt>false</tt> values for the parameter can also be written as "separated" and "none" respectively.<br />
* The guest-get-fsinfo command can return "usb" as the bus type too.<br />
* Add logging into VSS part (Windows only).<br />
* Add new option "allow-rpcs". The "allow-rpcs" option accepts a comma-separated list of RPCs to enable. This option is opposite to "block-rpcs".<br />
* Fix suspend on Linux guests without systemd.<br />
<br />
== Build Information ==<br />
<br />
=== Build Dependencies ===<br />
* The <tt>--meson</tt> and <tt>--sphinx-build</tt> options to configure have been removed. Meson and Sphinx will always be invoked through the Python interpreter specified (optionally) with <tt>--python</tt> or the <tt>$PYTHON</tt> environment variable; in order to use a host installation of Meson or Sphinx, the corresponding distribution packages (including metadata) will have to be installed in the <tt>site-packages</tt> directory of that Python interpreter.<br />
* Either pip+setuptools or ensurepip must now be installed to build QEMU. It is recommended to install distlib as well, but the build process tries to cope with its absence and it shouldn't be necessary.<br />
* A new option <tt>--enable-download</tt> will direct configure to find some missing Python build dependencies. For now this applies to sphinx (downloaded from PyPI) and libslirp (which is then built as a meson subproject). Only required and explicitly enabled dependencies (e.g. only for <tt>--enable-docs</tt> in the case of Sphinx) are downloaded.<br />
** The use of <tt>subprojects/wrapdb.json</tt> (downloaded by "meson wrap update-db") isn't supported yet.<br />
* Starting with QEMU 8.1, only Python 3.8 and newer will be supported (3.7 might work but it is not included in any of the environments that we run CI with).<br />
* new pipewire audio backend requires libpipewire (currently >= 0.3.60)<br />
* Xen versions below 4.7.1 are not supported anymore.<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
* riscv-cross image now using lcitool<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/8.1]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/8.0&diff=11199ChangeLog/8.02023-03-13T09:02:12Z<p>Kostyanf14: /* Guest agent */</p>
<hr />
<div>== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
==== Other removed features ====<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* The following CPU architecture features are now emulated: <br />
** FEAT_EVT<br />
** FEAT_FGT<br />
** AArch32 ARMv8-R support<br />
* New emulated CPU types: <br />
** Cortex-A55 CPU<br />
** Cortex-R52 CPU<br />
* The GICv3 can now be emulated under hvf acceleration<br />
* M-profile system registers and A-profile pointer-authentication information is now exposed to the gdbstub<br />
* Linux/arm64 EFI zboot format kernel images can now be booted with -kernel<br />
<br />
==== Machines ====<br />
<br />
* The cubieboard machine is now able to boot directly from an SD card image.<br />
* orangepi now implements some previously missing i2c controllers<br />
* New machine types:<br />
** ``olimex-stm32-h405`` -- Olimex STM32 H405 board with STM32F405RGT6 microcontroller<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
* Implemented fid instruction (Floating-Point Identify)<br />
* Create illegal instruction when executing 64-bit load/save on 32-bit emulation<br />
<br />
=== LoongArch ===<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
==== ISA and Extensions ====<br />
* Add smstateen support<br />
* Support native debug icount trigger<br />
* Support cache-related PMU events in virtual mode<br />
* Add Zawrs ISA extension support<br />
* Add support for the T-Head vendor extensions<br />
* Experimantal support for writable misa.<br />
* Support for Svadu extension.<br />
* Support for the Zicond extension.<br />
* Support for the Zicbiom, ZCicboz, and Zicbop extensions.<br />
* Support for setting the virtual address width (ie, sv39/sv48/sv57) on the command line.<br />
<br />
==== Machines ====<br />
* Bump the OpenTitan supported version<br />
* Add some missing PolarFire SoC io regions<br />
* riscv_htif: Support console output via proxy syscall<br />
* Update opentitan IRQs<br />
* OpenSBI has been updated to version 1.2, see [https://github.com/riscv-software-src/opensbi/releases/tag/v1.2 release notes] for more details.<br />
* Support for ACPI on RISC-V.<br />
<br />
==== Fixes and Misc ====<br />
* Fix PMP propagation for tlb<br />
* Remove the redundant ipi-id property in the virt machine<br />
* Fix mret exception cause when no pmp rule is configured<br />
* Fix bug where disabling compressed instructions would crash QEMU<br />
* Cleanup firmware and device tree loading<br />
* Fix elen check when using vector extensions<br />
* Ensure we always follow MISA parsing<br />
* Fix up masking of vsip/vsie accesses<br />
* Trap on writes to stimecmp from VS when hvictl.VTI=1<br />
* Update disas for xnor/orn/andn and slli.uw<br />
* Fix rom code when Zicsr is disabled<br />
* A collection of fixes for virtulisation<br />
* Set tval for triggered watchpoints<br />
* A fix for virtual instr exception<br />
* Fix ctzw behavior<br />
* Fix SBI getchar handler for KVM<br />
* A fix for PMP matching to avoid incorrectly appling the default permissions on PMP permission violations.<br />
* Fixes for the vector slide instructions to avoid truncating 64-bit values (such as doubles) on 32-bit targets.<br />
* Fixes to gdbstub, CSR accesses, dependencies between the various floating-point exceptions, and XTheadMemPair.<br />
<br />
=== s390x ===<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
* Fix OPC1_16_SRO_LD_H translation<br />
* Fix OPC2_32_BO_LD_BU_PREINC translation<br />
* Fix OPC2_32_RRRR_DEXTR/RRPW_DEXTR translation<br />
* Fix OPC2_32_RCRW_INSERT translation<br />
* Fix OPC2_32_RCRW_IMASK translation<br />
<br />
=== x86 ===<br />
<br />
* Add support for Xen guests under KVM with Linux v5.12+. See the [https://qemu-project.gitlab.io/qemu/system/i386/xen.html "Xen HVM guest support"] page for details.<br />
* New CPU model "SapphireRapids".<br />
* TCG exposes CPUID flags FSRM, FZRM, FSRS, FSRC. These do not correspond to any new instructions; they only direct software to use string operations even if the length is zero or short.<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
* New device "ide-cf" emulating a CompactFlash card.<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
* igb device emulation<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
* Experimental migration support has been updated to the v2 VFIO migration protocol, v1 has been removed.<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
The old C virtiofsd has been removed, use the new [https://gitlab.com/virtio-fs/virtiofsd Rust implementation] instead.<br />
<br />
==== Semihosting ====<br />
* semihosting now has some documentation in the manual<br />
* semihosting only supports O_BINARY mode for file operations<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
A flaw in handling cached data when reading from a TLS channel has been fixed. This could affect TLS when used with character devices in particular where it is common to read less than one TLS packet of data at a time.<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
The deprecated 'password' option for SPICE is removed. Applications should use 'password-secret' instead, together with '-object secret'.<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
* some deadlocks cases where fixed when using plugins<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
* The iscsi driver 'password' option is deprecated, in favour of 'password-secret' which is to be used in combination with '--object secret'<br />
<br />
=== Tracing ===<br />
<br />
=== Semihosting ===<br />
<br />
=== Miscellaneous ===<br />
<br />
== User-mode emulation ==<br />
<br />
=== build ===<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== LoongArch ===<br />
<br />
=== Nios2 ===<br />
<br />
=== HPPA ===<br />
<br />
=== x86 ===<br />
<br />
== TCG backends ==<br />
<br />
=== ARM ===<br />
<br />
== Guest agent ==<br />
* Add USB but type support for guest-get-fsinfo in Windows<br />
* Add initial OpenBSD and NetBSD support<br />
* Add logging to Windows event log<br />
* Fix build with Glib version > 2.73.2 (Windows)<br />
* Add ability to specify VSS backup type (Windows FS freeze) <br />
* Fix CVE-2023-0664 in VSS installation (Windows)<br />
<br />
== Build Information ==<br />
<br />
=== Build Dependencies ===<br />
* QEMU has dropped perl as a build dependency<br />
* This will be the last version supporting Python 3.6. Starting with QEMU 8.1, only Python 3.8 and newer will be supported (3.7 might work but it is not included in any of the environments that we run CI with).<br />
* QEMU will try much harder to use a single Python interpreter for everything including running Meson and sphinx. As a result, there may be more circumstances in which QEMU uses the bundled copy of Meson. These include when Python points to a virtual environment and when there is a $PYTHON environment variable. The implementation of this change is still incomplete, with more improvements to come in terms of robustness.<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
* we have started deprecating docker.py and directly call docker/podman to build most images now<br />
* some longer running avocado tests have been disabled for GITLAB_CI (tuxrun_baselines does a fairly comprehensive job across most architectures now)<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/8.0]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/8.0&diff=11158ChangeLog/8.02023-02-15T10:32:03Z<p>Kostyanf14: add qga log</p>
<hr />
<div>== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
==== Other removed features ====<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* The following CPU architecture features are now emulated: <br />
** FEAT_EVT<br />
** FEAT_FGT<br />
** AArch32 ARMv8-R support<br />
* New emulated CPU types: <br />
** Cortex-A55 CPU<br />
** Cortex-R52 CPU<br />
* The GICv3 can now be emulated under hvf acceleration<br />
<br />
==== Machines ====<br />
<br />
* The cubieboard machine is now able to boot directly from an SD card image.<br />
* New machine types:<br />
** ``olimex-stm32-h405`` -- Olimex STM32 H405 board with STM32F405RGT6 microcontroller<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
* Implemented fid instruction (Floating-Point Identify)<br />
* Create illegal instruction when executing 64-bit load/save on 32-bit emulation<br />
<br />
=== LoongArch ===<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
==== ISA and Extensions ====<br />
* Add smstateen support<br />
* Support native debug icount trigger<br />
* Support cache-related PMU events in virtual mode<br />
* Add Zawrs ISA extension support<br />
* Add support for the T-Head vendor extensions<br />
<br />
==== Machines ====<br />
* Bump the OpenTitan supported version<br />
* Add some missing PolarFire SoC io regions<br />
* riscv_htif: Support console output via proxy syscall<br />
* Update opentitan IRQs<br />
<br />
==== Fixes and Misc ====<br />
* Fix PMP propagation for tlb<br />
* Remove the redundant ipi-id property in the virt machine<br />
* Fix mret exception cause when no pmp rule is configured<br />
* Fix bug where disabling compressed instructions would crash QEMU<br />
* Cleanup firmware and device tree loading<br />
* Fix elen check when using vector extensions<br />
* Ensure we always follow MISA parsing<br />
* Fix up masking of vsip/vsie accesses<br />
* Trap on writes to stimecmp from VS when hvictl.VTI=1<br />
* Update disas for xnor/orn/andn and slli.uw<br />
* Fix rom code when Zicsr is disabled<br />
* A collection of fixes for virtulisation<br />
* Set tval for triggered watchpoints<br />
* A fix for virtual instr exception<br />
* Fix ctzw behavior<br />
* Fix SBI getchar handler for KVM<br />
<br />
=== s390x ===<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
* Fix OPC1_16_SRO_LD_H translation<br />
* Fix OPC2_32_BO_LD_BU_PREINC translation<br />
* Fix OPC2_32_RRRR_DEXTR/RRPW_DEXTR translation<br />
* Fix OPC2_32_RCRW_INSERT translation<br />
* Fix OPC2_32_RCRW_IMASK translation<br />
<br />
=== x86 ===<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
* semihosting now has some documentation in the manual<br />
* semihosting only supports O_BINARY mode for file operations<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
* some deadlocks cases where fixed when using plugins<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
=== Tracing ===<br />
<br />
=== Semihosting ===<br />
<br />
=== Miscellaneous ===<br />
<br />
== User-mode emulation ==<br />
<br />
=== build ===<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== LoongArch ===<br />
<br />
=== Nios2 ===<br />
<br />
=== HPPA ===<br />
<br />
=== x86 ===<br />
<br />
== TCG backends ==<br />
<br />
=== ARM ===<br />
<br />
== Guest agent ==<br />
* Add USB but type support for guest-get-fsinfo in Windows<br />
* Add initial OpenBSD and NetBSD support<br />
* Add logging to Windows event log<br />
* Fix build with Glib version > 2.73.2 (Windows)<br />
<br />
== Build Information ==<br />
<br />
=== Build Dependencies ===<br />
* we have dropped perl as a build dependency<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/8.0]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/7.2&diff=11047ChangeLog/7.22022-11-17T09:53:11Z<p>Kostyanf14: </p>
<hr />
<div>== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features'] page for details of suggested replacement functionality.<br />
<br />
==== Removal of the "slirp" submodule (affects "-netdev user") ====<br />
<br />
The "slirp" submodule / code (which is the code behind "-netdev user" / "-nic user") has been removed from the QEMU source tree, so you now need to install your distributions libslirp development package before compiling QEMU to get the user-mode networking feature included again. For example, if you see an error message like this:<br />
<br />
<code>Parameter 'type' expects a netdev backend type</code><br />
<br />
... this might be caused by the missing "user" mode backend. In that case, please install libslirp first ("<code>dnf install libslirp-devel</code>" on Fedora and "<code>apt-get install libslirp-dev</code>" on Debian for example), recompile your QEMU with <code>--enable-slirp</code>, then try again.<br />
<br />
==== Semihosting calls from userspace ====<br />
<br />
For some target architectures (arm, m68k, mips, nios2, riscv, xtensa) QEMU supports a "semihosting" style ABI where guest code can make calls to directly print messages, read and write host files, and so on. Handling of when this is enabled in system emulation has been made consistent across target architectures. By default it is not enabled; if enabled via the commandline "-semihosting" or "-semihosting-config enable=on" then it is only permitted from non-userspace guest code; if the new-in-7.2 "-semihosting-config userspace=on" option is given then it is also permitted from guest userspace. For some target architectures this is a change in behaviour: mips, nios2 and xtensa previously allowed userspace access by default, and riscv allowed all access by default. If you were using semihosting on these targets and relying on that previous default behaviour, you need to update your commandline to explicitly enable semihosting to the desired level.<br />
<br />
==== Other removed features ====<br />
<br />
* The <tt>-watchdog</tt> option has been removed, use <tt>-device</tt> instead.<br />
* The PPC ''taihu'' machine has been removed, use ''ref405ep'' instead.<br />
<br />
=== New deprecated options and features ===<br />
* Big endian 32-bit MIPS hosts are now deprecated due to lack of CI coverage.<br />
* The "--blacklist" command line option for the QEMU guest agent has been renamed to "--block-rpcs". The old name is still supported for now, but will be removed in the future; "-b" can be used on old and new versions alike.<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* The following CPU architecture features are now emulated:<br />
** FEAT_ETS (Enhanced Translation Synchronization)<br />
** FEAT_PMUv3p5 (PMU Extensions v3.5)<br />
** FEAT_GTG (Guest translation granule size)<br />
** FEAT_HAFDBS (Hardware management of the access flag and dirty bit state)<br />
** FEAT_E0PD (Preventing EL0 access to halves of address maps)<br />
* New emulated CPU types:<br />
** Cortex-A35<br />
<br />
==== Machines ====<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
=== LoongArch ===<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
* deprecated 32 bit big endian host<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
* Stability improvements<br />
* Performance improvements by supporting MTTCG<br />
* New '''virt''' platform is added to assist with CI and device testing<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
==== ISA and Extensions ====<br />
* Update [m|h]tinst CSR in interrupt handling<br />
* Force disable extensions if priv spec version does not match<br />
* fix shifts shamt value for rv128c<br />
* move zmmul out of the experimental<br />
* Add checks for supported extension combinations<br />
* Fix typo and restore Pointer Masking functionality for RISC-V<br />
* Add mask agnostic behaviour (rvv_ma_all_1s) for vector extension<br />
* Add Zihintpause support<br />
* Add xicondops in ISA entry<br />
* Use official extension names for AIA CSRs<br />
* Fix the CSR check for cycle{h}, instret{h}, time{h}, hpmcounter3-31{h}<br />
* Improvements to the RISC-V debugger spec<br />
* Add disas support for vector instructions<br />
<br />
==== Machines ====<br />
* virt: pass random seed to fdt<br />
* opentitan: bump opentitan version<br />
* virt machine device tree improvements<br />
* Allow setting the resetvec for the OpenTitan machine<br />
* Enable booting S-mode firmware from pflash on virt machine<br />
<br />
==== Fixes and Misc ====<br />
* Upgrade OpenSBI to v1.1<br />
* microchip_pfsoc: fix kernel panics due to missing peripherals<br />
* Remove additional priv version check for mcountinhibit<br />
* Fixup register addresses for Ibex SPI<br />
* Cleanup the RISC-V virt machine documentation<br />
* Remove fixed numbering from GDB xml feature files<br />
* Priority level fixes for PLIC<br />
* Fixup TLB size calculation when using PMP<br />
<br />
=== s390x ===<br />
<br />
* Fix emulation of the LZRF instruction<br />
* Fix emulation of the VISTR instruction<br />
* Implement Message-Security-Assist Extension 5 (random number generation via PRNO instruction)<br />
* Implement SHA-512 via KIMD/KLMD instructions<br />
* Enhanced zPCI interpretation support for KVM guests<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
* Support for passing a random seed to the Linux kernel when booted with -kernel<br />
* Support for the MSR_CORE_THREAD_COUNT MSR<br />
==== TCG ====<br />
* Performance improvements in full-system emulation<br />
* Fixes in SSE implementation<br />
* TCG support for AVX, AVX2, F16C, FMA3 and VAES instructions<br />
<br />
==== KVM ====<br />
* Support for the "notify vmexit" mechanism, preventing processor bugs from hanging the whole system, through the ''-accel kvm,notify-vmexit='' and ''-accel kvm,notify-window='' options<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
===== Controllers =====<br />
<br />
===== Devices =====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
* Fixed bug that could cause a stack or heap overflow with the emulated "tulip" NIC (CVE-2022-2962)<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
===== Emulated NVMe Controller =====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
* Support for setting CD-ROM block size using the physical-block-size property of the scsi-cd device.<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
* Massive general [https://github.com/qemu/qemu/commit/f5265c8f917ea8c71a30e549b7e3017c1038db63 performance improvement] somewhere between factor 6 .. 12.<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
* UNIX socket support on Windows has been added<br />
<br />
=== Crypto subsystem ===<br />
<br />
* LUKS block device headers are validated more strictly<br />
* Errors are correctly reported when failing to load PSK credentials on clients<br />
* Creating LUKS images is supported on macOS<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
* On macOS systems, the same QEMU binary can include both the Cocoa user interface and the SDL or GTK+ user interfaces.<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
* When preallocating memory provided by a memory backend, it is now possible to specify the host CPUs (or alternatively the host nodes) to run the preallocation on via a user-creatable "thread-context" object. This allows for NUMA-aware preallocation, which can speed-up preallocation (and thereby VM creation time) significantly.<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
* The "slirp" submodule has been removed from the QEMU source tree. Use libslirp from your OS distribution instead.<br />
* New stream and dgram netdev backend<br />
<br />
=== Block device backends and tools ===<br />
=== Tracing ===<br />
<br />
=== Semihosting ===<br />
<br />
Semihosting calls were generally not permitted for userspace guest code in system emulation. This can now be enabled with the "-semihosting-config userspace=on" option. Note that the usual remarks about semihosting apply -- because it permits direct guest access to the host filesystem, it should only be used with trusted guest binaries.<br />
<br />
=== Miscellaneous ===<br />
<br />
== User-mode emulation ==<br />
<br />
* Dump failing executable on CPU exception<br />
* support for system calls pidfd_open(), pidfd_send_signal() and pidfd_getfd()<br />
* support for FUTEX_WAKE_BITSET and PI futexes<br />
* support for madvise(MADV_DONTNEED) on file mappings<br />
<br />
=== build ===<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== LoongArch ===<br />
<br />
=== Nios2 ===<br />
<br />
=== HPPA ===<br />
<br />
* Increased guest stack to 80MB<br />
* Fix signal handling<br />
* Add vDSO emulation and thus avoid an executable stack<br />
* Changed guest memory layout like on real hppa kernel<br />
<br />
=== x86 ===<br />
<br />
* The qemu-i386 and qemu-x86_64 binaries now default to the 'max' CPU model instead of 'qemu32' / 'qemu64'<br />
* Support for saving/restoring SSE registers in signal frames in qemu-i386 (when FXSR is set in CPUID)<br />
* Support for saving/restoring XSAVE state in signal frames (when XSAVE is set in CPUID)<br />
<br />
== TCG backends ==<br />
<br />
=== ARM ===<br />
<br />
== Guest agent ==<br />
<br />
* Add FreeBSD support<br />
<br />
== Build Information ==<br />
<br />
=== Python ===<br />
* Python 3.7 or newer is now required.<br />
<br />
=== GIT submodules ===<br />
* The libslirp library is not included in QEMU anymore. The development packages for libslirp must be installed in the system to build QEMU with user-mode networking support. <!-- As of version 7.2, QEMU will fail to build without libslirp unless <tt>--disable-libslirp</tt> is passed explicitly to the configure script. This may change in the future --><br />
<br />
=== Container Based Builds ===<br />
* All containers are now "flat" containers (often generated by lci-tool)<br />
<br />
=== VM Based Builds ===<br />
<br />
=== Build Dependencies ===<br />
* Meson 0.61 or newer is now required. QEMU ships with Meson 0.61.5, which will be used if necessary.<br />
<br />
=== Windows ===<br />
* The DLL files which are required at runtime and which therefore have to be included in the installer are now detected automatically. It is no longer necessary to collect them manually.<br />
<br />
=== Testing and CI ===<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/7.2]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/7.1&diff=10976ChangeLog/7.12022-07-27T09:04:16Z<p>Kostyanf14: </p>
<hr />
<div><br />
== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
* The <tt>--enable-fips</tt> option to QEMU system emulators has been removed<br />
* The <tt>-writeconfig</tt> option to QEMU system emulators has been removed<br />
* The deprecated x86 CPU model <tt>Icelake-Client</tt> has been removed<br />
* The deprecated properties <tt>loaded</tt> (for crypto objects) and <tt>opened</tt> (for RNG backends) are now read-only<br />
* The deprecated <tt>-soundhw</tt> option has been replaced by <tt>-audio</tt> (e.g. <tt>-audio pa,model=hda</tt>)<br />
* The deprecated <tt>-sdl</tt> and <tt>-curses</tt> have been removed, use <tt>-display sdl</tt> and <tt>-display curses</tt> instead.<br />
* The <tt>-display sdl,window_close=...</tt> suboption has been removed, use <tt>-display sdl,window-close=...</tt> instead, i.e. with a minus instead of an underscore between “window” and “close”<br />
* The <tt>-alt-grab</tt> option and the <tt>-display sdl,alt_grab=on</tt> suboption have been removed, use <tt>-display sdl,grab-mod=lshift-lctrl-lalt</tt> instead.<br />
* The <tt>-ctrl-grab</tt> option and the <tt>-display sdl,ctrl_grab=on</tt> suboption have been removed, use <tt>-display sdl,grab-mod=rctrl</tt> instead.<br />
* The x86 Icelake-Client CPU does not exist in the real world and has therefore been removed.<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* The following CPU architecture features are now emulated:<br />
** FEAT_TTL (Translation Table Level)<br />
** FEAT_BBM at level 2 (Translation table break-before-make levels)<br />
** FEAT_Debugv8p2 (Debug changes for v8.2)<br />
** FEAT_Debugv8p4 (Debug changes for v8.4)<br />
** FEAT_DoubleFault<br />
** FEAT_RAS (Reliability, Availability and Serviceability extension, minimal version only)<br />
** FEAT_RASv1p1 (RAS extension v1.1, minimal version only)<br />
** FEAT_IESB (Implicit error synchronization event)<br />
** FEAT_CSV2 (Cache speculation variant 2)<br />
** FEAT_CSV2_2 (Cache speculation variant 2, version 2)<br />
** FEAT_CSV3 (Cache speculation variant 3)<br />
** FEAT_DGH (Data gathering hint)<br />
** FEAT_S2FWB (Stage 2 forced Write-Back)<br />
** FEAT_IDST (ID space trap handling)<br />
** FEAT_HCX (Support for the HCRX_EL2 register)<br />
** FEAT_SME (Scalable Matrix Extension)<br />
* The emulated SMMUv3 now advertises support for SMMUv3.2-BBML2<br />
* The xlnx-zynqmp SoC model now implements the 4 TTC timers<br />
* The versal machine now models the Cortex-R5s in the Real-Time Processing Unit (RPU) subsystem<br />
* The virt board now supports emulation of the GICv4.0<br />
* New Aspeed AST1030 SoC and eval board<br />
* New emulated CPU types:<br />
** Cortex-A76<br />
** Neoverse-N1<br />
* The libvixl- and libopcode-based disassemblers have been removed. Use Capstone instead.<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
* Update to SeaBIOS-hppa firmware version 6:<br />
** supports emulated PS/2 keyboard in boot menu when running in GTK UI <br />
** assigns serial port #1 to LASI and serial port #2 to DINO (as on real hardware) <br />
** includes additional STI text fonts<br />
* Fix performance issue with X11 artist framebuffer (makes the GTK UI faster and thus usable)<br />
* Fix X11 graphics cursor position when running HP-UX 10 or HP-UX 11<br />
* Allows the screensaver to blank the screen in X11<br />
* Allows the X11 server to turn cursor on/off <br />
* Fix serial port pass-through from host to guest<br />
* Lots of general code improvements and tidy-ups<br />
<br />
=== LoongArch ===<br />
<br />
* Add initial support for the LoongArch64 architecture, the Loongson 3A5000 multiprocessor SoC, and the Loongson 7A1000 host bridge.<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
* Implement the Vectored Interrupt Controller (enable with <code>-machine 10m50-ghrd,vic=on</code>).<br />
* Implement shadow register sets, and enable them with the VIC.<br />
* Raise supervisor-only instruction exception for <code>ERET</code> and <code>BRET</code>.<br />
* Raise misaligned data exception for misaligned memory accesses.<br />
* Raise misaligned destination exception for misaligned branch addresses.<br />
* Raise division error exception for divide by zero and divide overflow (disable with <code>-cpu diverr_present=off</code>).<br />
<br />
=== OpenRISC ===<br />
<br />
* The or1k-sim machine now supports 4 16550A UART serial devices, expanded from 1.<br />
<br />
=== PowerPC ===<br />
<br />
* The libopcode-based disassembler has been removed. Use Capstone instead.<br />
<br />
=== Renesas RX ===<br />
<br />
* Fix the <code>clrpsw</code> and <code>setpsw</code> instructions with respect to changes to <code>PSW.U</code>.<br />
* Fix the <code>wait</code> instruction corrupting the PC and setting <code>PSW.I</code>.<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
<br />
==== ISA and Extensions ====<br />
<br />
* Add support for privileged spec version 1.12.0<br />
* Use privileged spec version 1.12.0 for virt machine by default<br />
* Allow software access to MIP SEIP<br />
* Add initial support for the Sdtrig extension<br />
* Optimisations and improvements for the vector extension<br />
* Improvements to the misa ISA string<br />
* Add isa extension strings to the device tree<br />
* Add and enable native debug feature<br />
* Support configurable marchid, mvendorid, mimpid CSR values<br />
* Add support for the Zbkb, Zbkc, Zbkx, Zknd/Zkne, Zknh, Zksed/Zksh and Zkr extensions<br />
* Enforce floating point extension requirements<br />
* Add support for Zmmul extension<br />
* Support Vector extension tail agnostic setting elements' bits to all 1<br />
* Implement mcountinhibit CSR<br />
* Add support for hpmcounters/hpmevents<br />
* Improve PMU implenentation<br />
* Support mcycle/minstret write operation<br />
* AIA update to v0.3 of the spec<br />
<br />
==== Machines ====<br />
<br />
* Add support for Ibex SPI to OpenTitan<br />
* Make RISC-V ACLINT mtime MMIO register writable<br />
* Add TPM support to the virt board<br />
* Improvements to RISC-V machine error handling<br />
* Don't expose the CPU properties on named CPUs<br />
<br />
==== Fixes and Misc ====<br />
* Don't allow `-bios` options with KVM machines<br />
* Fix NAPOT range computation overflow<br />
* Fix DT property mmu-type when CPU mmu option is disabled<br />
* Support 64bit fdt addresses<br />
* Fix incorrect PTE merge in walk_pte<br />
* Fixes for accessing VS hypervisor CSRs<br />
* Fixes for accessing mtimecmp<br />
* Add new short-isa-string CPU option<br />
* Disable the "G" extension by default internally, no functional change<br />
* Improvements for virtulisation<br />
* Add zicsr/zifencei to isa_string<br />
* Support for VxWorks uImage<br />
* Fixup FDT errors when supplying device tree from the command line for virt machine<br />
* Avoid overflowing the addr_config buffer in the SiFive PLIC<br />
* Support -device loader addresses above 2GB<br />
* Correctly wake from WFI on VS-level external interrupts<br />
* Fixes for RV128 support<br />
* Fix vector extension assert for RV32<br />
* Fix register zero guarding for auipc and lui<br />
* Ensure mtval is set correctly<br />
* Guard against PMP ranges with a negative size<br />
* Ibex (OpenTitan) fixup priv version<br />
* Reduce FDT address alignment constraints<br />
* Set minumum priv spec version for mcountinhibit<br />
<br />
=== s390x ===<br />
<br />
* Fix condition code generation for the <code>ICMH</code> instruction.<br />
* Emulate the s390x Vector-Enhancements Facility 2 with TCG<br />
* Remove the old libopcode-based s390 disassembler (use Capstone instead)<br />
* 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.<br />
* The s390-ccw bios has been fixed to also boot from drives with non-512 sector sizes that have a different geometry than the typical DASD drives<br />
* Fix the emulation of the EXECUTE instruction to look for interrupts in all cases<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
<br />
* Support for architectural LBRs on KVM virtual machines.<br />
* The libopcode-based disassembler has been removed. Use Capstone instead.<br />
<br />
=== Xtensa ===<br />
<br />
* Implement cache testing opcodes.<br />
* Add lx106 core.<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
* Replace legacy PS2 functions/callbacks with new implementation using qdev GPIOs and QOM-ified PS2 devices<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
===== Emulated NVMe Controller =====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
* Experimental <tt>--object x-vfio-user-server,id=<id>,type=unix,path=<socket-path>,device=<pci-dev-id></tt> for exposing emulated PCI devices over the new vfio-user protocol. A vfio-user client is not yet available in QEMU.<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
* macOS: [https://github.com/qemu/qemu/commit/f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65 Several fixes] for recently (in QEMU 7.0) added 9p support for macOS hosts.<br />
* [https://lore.kernel.org/all/cover.1647339025.git.qemu_oss@crudebyte.com/ Fixed 'Twalk' error handling] from having violated 9p2000.L protocol spec.<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
* Support for zero-copy-send on Linux, which reduces CPU usage on the source host. Note that locked memory is needed to support this.<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
* 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.<br />
* The ''on-cbw-error'' option for ''copy-before-write'' filter, to specify behavior on CBW (copy before write) operation failure.<br />
* The ''cbw-timeout'' option for ''copy-before-write'' filter, to specify timeout for CBW operation.<br />
* New commands ''query-stats'' and ''query-stats-schema'' to retrieve statistics from various QEMU subsystems (right now only from KVM).<br />
==== HMP ====<br />
* New command ''info stats'' to retrieve statistics from various QEMU subsystems (right now only from KVM).<br />
<br />
=== Network ===<br />
* QEMU can be compiled with the system slirp library even when using CFI. This requires libslirp 4.7.<br />
<br />
=== Block device backends and tools ===<br />
=== Tracing ===<br />
<br />
=== Miscellaneous ===<br />
* The ''-m'' and ''-boot'' options are also available via ''-M mem.*'' and ''-M boot.*''.<br />
<br />
== User-mode emulation ==<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== LoongArch ===<br />
<br />
* Add initial support for the LoongArch64 architecture.<br />
<br />
=== Nios2 ===<br />
<br />
* Fix the <code>rt_sigreturn</code> system call.<br />
* Fix the <code>siginfo_t</code> data for <code>SIGSEGV</code>.<br />
<br />
== TCG ==<br />
<br />
=== ARM ===<br />
<br />
== Guest agent ==<br />
<br />
* guest-get-disks can now return NVMe SMART informations (on Linux)<br />
* guest-get-fsinfo can now return NVMe bus-type<br />
* Improve Solaris support<br />
* Add guest-get-diskstats command (for Linux guests only)<br />
* Add guest-get-cpustats command (for Linux guests only)<br />
<br />
<br />
== Build Information ==<br />
<br />
=== Python ===<br />
<br />
=== GIT submodules ===<br />
<br />
=== Container Based Builds ===<br />
<br />
=== VM Based Builds ===<br />
<br />
=== Build Dependencies ===<br />
* 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.<br />
* 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.<br />
* 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.<br />
* The building process now uses symbolic links which, on newer versions of Windows 10, can only be created by unprivileged accounts if Developer Mode is enabled. On those releases, building QEMU requires either Developer Mode or the SeCreateSymbolicLinkPrivilege privilege.<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
* Bump Fedora image version for cross-compilation<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/7.1]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/7.1&diff=10950ChangeLog/7.12022-05-25T17:43:48Z<p>Kostyanf14: </p>
<hr />
<div><br />
== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features' ] page for details of suggested replacement functionality<br />
<br />
* The <tt>--enable-fips</tt> option to QEMU system emulators has been removed<br />
* The <tt>-writeconfig</tt> option to QEMU system emulators has been removed<br />
* The deprecated x86 CPU model <tt>Icelake-Client</tt> has been removed<br />
* The deprecated properties <tt>loaded</tt> (for crypto objects) and <tt>opened</tt> (for RNG backends) are now read-only<br />
* The deprecated <tt>-soundhw</tt> option has been replaced by <tt>-audio</tt> (e.g. <tt>-audio pa,model=hda</tt>)<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
* The following CPU architecture features are now emulated:<br />
** FEAT_TTL (Translation Table Level)<br />
** FEAT_BBM at level 2 (Translation table break-before-make levels)<br />
** FEAT_Debugv8p2 (Debug changes for v8.2)<br />
** FEAT_Debugv8p4 (Debug changes for v8.4)<br />
** FEAT_RAS (minimal version only)<br />
** FEAT_IESB (Implicit error synchronization event)<br />
** FEAT_CSV2 (Cache speculation variant 2)<br />
** FEAT_CSV2_2 (Cache speculation variant 2, version 2)<br />
** FEAT_CSV3 (Cache speculation variant 3)<br />
** FEAT_DGH (Data gathering hint)<br />
** FEAT_S2FWB (Stage 2 forced Write-Back)<br />
** FEAT_IDST (ID space trap handling)<br />
** FEAT_HCX (Support for the HCRX_EL2 register)<br />
* The emulated SMMUv3 now advertises support for SMMUv3.2-BBML2<br />
* The xlnx-zynqmp SoC model now implements the 4 TTC timers<br />
* The versal machine now models the Cortex-R5s in the Real-Time Processing Unit (RPU) subsystem<br />
* The virt board now supports emulation of the GICv4.0<br />
* New Aspeed AST1030 SoC and eval board<br />
* New emulated CPU types:<br />
** Cortex-A76<br />
** Neoverse-N1<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
* Update to SeaBIOS-hppa firmware version 5, with additional STI text fonts<br />
* Firmware now supports emulated PS/2 keyboard in boot menu when running in GTK UI <br />
* Fix performance issue with artist framebuffer (this makes the GTK UI usable)<br />
* Fixed X11 graphics cursor position when running HP-UX 10 or HP-UX 11<br />
* Allow X11 server to blank the screen (e.g. screensaver) and to turn the X11 cursor on or off <br />
* Lots of general code improvements and tidy-up<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
* Implement the Vectored Interrupt Controller (enable with <code>-machine 10m50-ghrd,vic=on</code>).<br />
* Implement shadow register sets, and enable them with the VIC.<br />
* Raise supervisor-only instruction exception for <code>ERET</code> and <code>BRET</code>.<br />
* Raise misaligned data exception for misaligned memory accesses.<br />
* Raise misaligned destination exception for misaligned branch addresses.<br />
* Raise division error exception for divide by zero and divide overflow (disable with <code>-cpu diverr_present=off</code>).<br />
<br />
=== OpenRISC ===<br />
<br />
* The or1k-sim machine now supports 4 16550A UART serial devices, expanded from 1.<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
* Fix the <code>clrpsw</code> and <code>setpsw</code> instructions with respect to changes to <code>PSW.U</code>.<br />
* Fix the <code>wait</code> instruction corrupting the PC and setting <code>PSW.I</code>.<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
<br />
==== ISA and Extensions ====<br />
<br />
* Add support for privileged spec version 1.12.0<br />
* Use privileged spec version 1.12.0 for virt machine by default<br />
* Allow software access to MIP SEIP<br />
* Add initial support for the Sdtrig extension<br />
* Optimisations and improvements for the vector extension<br />
* Improvements to the misa ISA string<br />
* Add isa extension strings to the device tree<br />
* Add and enable native debug feature<br />
* Support configurable marchid, mvendorid, mimpid CSR values<br />
* Add support for the Zbkb, Zbkc, Zbkx, Zknd/Zkne, Zknh, Zksed/Zksh and Zkr extensions<br />
* Enforce floating point extension requirements<br />
<br />
==== Machines ====<br />
<br />
* Add support for Ibex SPI to OpenTitan<br />
* Make RISC-V ACLINT mtime MMIO register writable<br />
* Add TPM support to the virt board<br />
* Improvements to RISC-V machine error handling<br />
<br />
==== Fixes and Misc ====<br />
* Don't allow `-bios` options with KVM machines<br />
* Fix NAPOT range computation overflow<br />
* Fix DT property mmu-type when CPU mmu option is disabled<br />
* Support 64bit fdt addresses<br />
* Fix incorrect PTE merge in walk_pte<br />
* Fixes for accessing VS hypervisor CSRs<br />
* Fixes for accessing mtimecmp<br />
* Add new short-isa-string CPU option<br />
* Disable the "G" extension by default internally, no functional change<br />
* Improvements for virtulisation<br />
* Add zicsr/zifencei to isa_string<br />
* Support for VxWorks uImage<br />
<br />
=== s390x ===<br />
<br />
* Fix condition code generation for the <code>ICMH</code> instruction.<br />
* Emulate the s390x Vector-Enhancements Facility 2 with TCG<br />
* Remove the old libopcode-based s390 disassembler (use Capstone instead)<br />
* 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.<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
* Support for architectural LBRs on KVM virtual machines.<br />
<br />
=== Xtensa ===<br />
<br />
* Implement cache testing opcodes.<br />
* Add lx106 core.<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI / SMBIOS ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
===== Emulated NVMe Controller =====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
* macOS: [https://github.com/qemu/qemu/commit/f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65 Several fixes] for recently (in QEMU 7.0) added 9p support for macOS hosts.<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
* Support for zero-copy-send on Linux, which reduces CPU usage on the source host. Note that locked memory is needed to support this.<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
* 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.<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
* QEMU can be compiled with the system slirp library even when using CFI. This requires libslirp 4.7.<br />
<br />
=== Block device backends and tools ===<br />
=== Tracing ===<br />
<br />
=== Miscellaneous ===<br />
* The ''-m'' and ''-boot'' options are also available via ''-M mem.*'' and ''-M boot.*''.<br />
<br />
== User-mode emulation ==<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
=== Nios2 ===<br />
<br />
* Fix the <code>rt_sigreturn</code> system call.<br />
* Fix the <code>siginfo_t</code> data for <code>SIGSEGV</code>.<br />
<br />
== TCG ==<br />
<br />
=== ARM ===<br />
<br />
== Guest agent ==<br />
<br />
* guest-get-disks can now return NVMe SMART informations (on Linux)<br />
* guest-get-fsinfo can now return NVMe bus-type<br />
* Improve Solaris support<br />
* Add guest-get-diskstats command (for Linux guests only)<br />
<br />
<br />
== Build Information ==<br />
<br />
=== Python ===<br />
<br />
=== GIT submodules ===<br />
<br />
=== Container Based Builds ===<br />
<br />
=== VM Based Builds ===<br />
<br />
=== Build Dependencies ===<br />
* 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.<br />
* 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.<br />
* 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.<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
* Bump Fedora image version for cross-compilation<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/7.1]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/7.0&diff=10735ChangeLog/7.02022-01-19T12:12:20Z<p>Kostyanf14: </p>
<hr />
<div><br />
== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features' ] page for details of suggested replacement functionality<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
* Add support for ratified 1.0 Vector extension<br />
* Drop support for draft 0.7.1 Vector extension<br />
* Support Zfhmin and Zfh extensions<br />
* Improve kernel loading for non-Linux platforms<br />
* Fix illegal instruction when PMP is disabled<br />
* SiFive PDMA 64-bit support<br />
* Mark Hypervisor extension as non experimental<br />
* Enable Hypervisor extension by default<br />
* Support 32 cores on the virt machine<br />
* Corrections for the Vector extension<br />
* Experimental support for 128-bit CPUs<br />
* stval and mtval support for illegal instructions<br />
<br />
=== s390x ===<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
<br />
==== KVM ====<br />
<br />
==== x86_64 ====<br />
<br />
==== AMD SEV ====<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
===== Emulated NVMe Controller =====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
=== Tracing ===<br />
<br />
=== Miscellaneous ===<br />
<br />
== User-mode emulation ==<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
== TCG ==<br />
<br />
== Guest agent ==<br />
* Support Windows 11 for <code>guest-get-osinfo</code> command<br />
* Fix memory leaks in Windows <code>guest-get-fsinfo</code> command<br />
<br />
== Build Information ==<br />
<br />
=== Python ===<br />
<br />
=== GIT submodules ===<br />
<br />
=== Container Based Builds ===<br />
<br />
=== VM Based Builds ===<br />
<br />
=== Build Dependencies ===<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/7.0]]</div>Kostyanf14https://wiki.qemu.org/index.php?title=ChangeLog/7.0&diff=10729ChangeLog/7.02022-01-17T14:44:53Z<p>Kostyanf14: Guest agent change log</p>
<hr />
<div><br />
== System emulation ==<br />
<br />
=== Incompatible changes ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features' ] page for details of suggested replacement functionality<br />
<br />
=== New deprecated options and features ===<br />
<br />
Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.<br />
<br />
=== 68k ===<br />
<br />
=== Alpha ===<br />
<br />
=== Arm ===<br />
<br />
=== AVR ===<br />
<br />
=== Hexagon ===<br />
<br />
=== HPPA ===<br />
<br />
=== Microblaze ===<br />
<br />
=== MIPS ===<br />
<br />
=== Nios2 ===<br />
<br />
=== OpenRISC ===<br />
<br />
=== PowerPC ===<br />
<br />
=== Renesas RX ===<br />
<br />
=== Renesas SH ===<br />
<br />
=== RISC-V ===<br />
* Add support for ratified 1.0 Vector extension<br />
* Drop support for draft 0.7.1 Vector extension<br />
* Support Zfhmin and Zfh extensions<br />
* Improve kernel loading for non-Linux platforms<br />
* Fix illegal instruction when PMP is disabled<br />
* SiFive PDMA 64-bit support<br />
* Mark Hypervisor extension as non experimental<br />
* Enable Hypervisor extension by default<br />
* Support 32 cores on the virt machine<br />
* Corrections for the Vector extension<br />
* Experimental support for 128-bit CPUs<br />
* stval and mtval support for illegal instructions<br />
<br />
=== s390x ===<br />
<br />
=== SPARC ===<br />
<br />
=== Tricore ===<br />
<br />
=== x86 ===<br />
<br />
==== KVM ====<br />
<br />
==== x86_64 ====<br />
<br />
==== AMD SEV ====<br />
<br />
=== Xtensa ===<br />
<br />
=== Device emulation and assignment ===<br />
<br />
==== ACPI ====<br />
<br />
==== Audio ====<br />
<br />
==== Block devices ====<br />
<br />
==== Graphics ====<br />
<br />
==== I2C ====<br />
<br />
==== Input devices ====<br />
<br />
==== IPMI ====<br />
<br />
==== Multi-process QEMU ====<br />
<br />
==== Network devices ====<br />
<br />
==== NVDIMM ====<br />
<br />
==== NVMe ====<br />
<br />
===== Emulated NVMe Controller =====<br />
<br />
==== PCI/PCIe ====<br />
<br />
==== SCSI ====<br />
<br />
==== SD card ====<br />
<br />
==== SMBIOS ====<br />
<br />
==== TPM ====<br />
<br />
==== USB ====<br />
<br />
<br />
==== VFIO ====<br />
<br />
==== virtio ====<br />
<br />
==== Xen ====<br />
<br />
==== fw_cfg ====<br />
<br />
==== 9pfs ====<br />
<br />
==== virtiofs ====<br />
<br />
==== Semihosting ====<br />
<br />
=== Audio ===<br />
<br />
=== Character devices ===<br />
<br />
=== Crypto subsystem ===<br />
<br />
=== Authorization subsystem ===<br />
<br />
=== GUI ===<br />
<br />
=== GDBStub ===<br />
<br />
=== TCG Plugins ===<br />
<br />
=== Host support ===<br />
<br />
=== Memory backends ===<br />
<br />
=== Migration ===<br />
<br />
=== Monitor ===<br />
<br />
==== QMP ====<br />
<br />
==== HMP ====<br />
<br />
=== Network ===<br />
<br />
=== Block device backends and tools ===<br />
<br />
=== Tracing ===<br />
<br />
=== Miscellaneous ===<br />
<br />
== User-mode emulation ==<br />
<br />
=== binfmt_misc ===<br />
<br />
=== Hexagon ===<br />
<br />
== TCG ==<br />
<br />
== Guest agent ==<br />
* Support Windows 11 for <code>guest-get-osinfo</code> command<br />
<br />
== Build Information ==<br />
<br />
=== Python ===<br />
<br />
=== GIT submodules ===<br />
<br />
=== Container Based Builds ===<br />
<br />
=== VM Based Builds ===<br />
<br />
=== Build Dependencies ===<br />
<br />
=== Windows ===<br />
<br />
=== Testing and CI ===<br />
<br />
== Known issues ==<br />
<br />
* see [[Planning/7.0]]</div>Kostyanf14