Lëshimi i emulatorit QEMU 7.1

Prezantohet publikimi i projektit QEMU 7.1. Si emulator, QEMU ju lejon të ekzekutoni një program të ndërtuar për një platformë harduerike në një sistem me një arkitekturë krejtësisht të ndryshme, për shembull, të ekzekutoni një aplikacion ARM në një PC të pajtueshëm me x86. Në modalitetin e virtualizimit në QEMU, performanca e ekzekutimit të kodit në një mjedis të izoluar është afër një sistemi hardware për shkak të ekzekutimit të drejtpërdrejtë të udhëzimeve në CPU dhe përdorimit të hipervizorit Xen ose modulit KVM.

Projekti u krijua fillimisht nga Fabrice Bellard për të lejuar ekzekutuesit Linux të ndërtuar për platformën x86 të ekzekutohen në arkitektura jo-x86. Gjatë viteve të zhvillimit, është shtuar mbështetje e plotë emulimi për 14 arkitektura harduerike, numri i pajisjeve harduerike të emuluara ka kaluar 400. Në përgatitje për versionin 7.1, u bënë më shumë se 2800 ndryshime nga 238 zhvillues.

Përmirësimet kryesore të shtuara në QEMU 7.1:

  • На платформе Linux реализована опция zero-copy-send, позволяющая организовать передачу страниц памяти при live-миграции без промежуточной буферизации.
  • В QMP (QEMU Machine Protocol) добавлена возможность использования команды block-export-add для экспорта образов NBD с данным о страницах в состоянии «dirty». Также добавлены новые команды ‘query-stats’ и ‘query-stats-schema’ для запроса статистики из различных подсистем QEMU.
  • В агенте для гостевых систем улучшена поддержка платформы Solaris и добавлены новые команды ‘guest-get-diskstats’ и ‘guest-get-cpustats’ для отображения состояния дисков и CPU. В команду ‘guest-get-disks’ добавлен вывод информации из NVMe SMART, а в команду ‘guest-get-fsinfo’ вывод данных о типе шины NVMe.
  • Добавлен новый эмулятор LoongArch с поддержкой 64-разрядного варианта архитектуры набора команд LoongArch (LA64). Эмулятором поддерживаются процессоры Loongson 3 5000 и северные мосты Loongson 7A1000.
  • В эмуляторе ARM реализованы новые типы эмулируемых машин: Aspeed AST1030 SoC, Qaulcomm и AST2600 / AST1030 (fby35). Добавлена поддержка эмуляции CPU Cortex-A76 и Neoverse-N1, а также процессорных расширений SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) и команд для блокирования утечек из внутреннего кэша в ходе спекулятивного выполнения инструкций на CPU. Для машин ‘virt’ реализована эмуляция контроллера прерываний GICv4.
  • В эмуляторе архитектуры x86 для KVM добавлена поддержка виртуализации механизма трассировки LBR (Last Branch Record).
  • В эмуляторе архитектуры HPPA предложена новая прошивка на базе SeaBIOS v6, поддерживающая использование клавиатуры PS/2 в загрузочном меню. Улучшена эмуляция последовательного порта. Добавлены дополнительные консольные шрифты STI.
  • В эмуляторе архитектуры MIPS для плат Nios2 (-machine 10m50-ghrd) реализована эмуляция векторного контроллера прерывания (Vectored Interrupt Controller) и теневого набора регистров. Улучшена обработка исключений.
  • В эмуляторе архитектуры OpenRISC для машины ‘or1k-sim’ добавлена возможность использования до 4 UART-устройств 16550A.
  • В эмулятор архитектуры RISC-V добавлена поддержка новых расширений набора команд (ISA), определённых в спецификации 1.12.0, а также добавлена поддержка расширения Sdtrig и улучшена поддержка векторных инструкций. Расширены возможности для отладки. В эмулируемую машину ‘virt’ добавлена поддержка TPM (Trusted Platform Module), а в машину ‘OpenTitan’ — поддержка Ibex SPI.
  • В эмуляторе архитектуры 390x обеспечена поддержка расширений VEF 2 (Vector-Enhancements Facility 2). В s390-ccw BIOS реализована возможность загрузки с дисков, имеющих размер сектора, отличный от 512 байт.
  • В эмулятор архитектуры Xtensa добавлена поддержка ядер lx106 и объектных кодов для тестирования кэша.

Burimi: opennet.ru

Shto një koment