QEMU 7.1 надходить із покращеннями для ARM, RISC-V, Linux тощо

QEMU 7.1

QEMU 7.1 реалізує вдосконалення передачі пам’яті в Linux

Було оголошено про випуск QEMU версії 7.1, яка містить низку покращень для різних емуляторів , зокрема зміни для ARM та RISC-V, а також покращення передачі пам'яті для Linux. У рамках підготовки до версії 7.1 238 розробників внесли понад 2800 змін.

Для тих, хто вперше знайомиться з QEMU, ви повинні знати, що вона дозволяє вам запускати програму, створену для однієї апаратної платформи, у системі з абсолютно іншою архітектурою, наприклад, запускати програму ARM на x86-сумісному ПК.

У режимі віртуалізації в QEMU продуктивність виконання коду в ізольованому середовищі подібна до продуктивності апаратної системи завдяки прямому виконанню інструкцій на центральному процесорі та використанні гіпервізора Xen або модуля KVM.

Основні новинки QEMU 7.1

У цій новій версії, представленій для Linux, реалізовано опцію zero-copy-send , яка дозволяє організувати передачу сторінок пам'яті під час міграції в реальному часі без проміжної буферизації.

Крім того, QMP (QEMU Machine Protocol) додає можливість використовувати команду `block-export-add` для експорту зображень NBD з даними сторінок у "брудному" стані. Також додано нові команди `query-stats` та `query-stats-schema` для запиту статистики з різних підсистем QEMU.

Ще однією помітною зміною в цій новій версії QEMU є покращена сумісність гостьового агента з платформою Solaris та додані нові команди «guest-get-diskstats» та «guest-get-cpustats» для відображення стану диска та процесора. Інформацію NVMe SMART було додано до команди «guest-get-disks», а інформацію про тип шини NVMe – до команди «guest-get-fsinfo».

Крім того, було додано новий емулятор LoongArch для підтримки 64-бітної версії архітектури набору інструкцій LoongArch (LA64). Емулятор підтримує процесори Loongson 3 5000 та північні мости Loongson 7A1000.

Крім того, також наголошується, що емулятор ARM реалізував нові типи емульованих машин: Aspeed AST1030 SoC, Qualcomm та AST2600/AST1030 (fby35), а також додав підтримку емуляції процесорів Cortex-A76 та Neoverse-N1, а також розширення процесорів SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) та команди для блокування витоків внутрішнього кешу під час виконання спекулятивних інструкцій у процесорі.

Хоча емулятор архітектури RISC-V додав підтримку нових розширень набору інструкцій (ISA), визначених у специфікації 1.12.0, а також додаткову підтримку розширення Sdtrig та покращену підтримку векторних інструкцій.

Інші помітні зміни в цій новій версії включають:

  • Покращено параметри налагодження.
  • Додано підтримку Trusted Platform Module (TPM) до емульованої машини virt і підтримку Ibex SPI до машини OpenTitan.
  • Емулятор x86 для KVM додав підтримку віртуалізації механізму трасування LBR (останній запис гілки).
  • Реалізовано емуляцію обробника переривань GICv4 для машин virt.
  • Емулятор архітектури HPPA пропонує нове мікропрограмне забезпечення на основі SeaBIOS v6, яке підтримує використання клавіатури PS/2 у меню завантаження.
  • Покращена емуляція послідовного порту.
  • Додано додаткові шрифти консолі STI.
  • Емулятор архітектури MIPS для плат Nios2 (-machine 10m50-ghrd) реалізує емуляцію контролера векторних переривань і набір тіньових регістрів.
  • Покращена обробка винятків.
  • Додано можливість використовувати до 4 пристроїв 16550A UART в емуляторі архітектури OpenRISC для машини «or1k-sim».
  • Емулятор архітектури 390x забезпечує підтримку розширень Vector-Enhancements Facility 2 (VEF 2). BIOS s390-ccw має можливість завантажуватися з дисків із розміром сектора, відмінним від 512 байт.
  • До емулятора архітектури Xtensa додано підтримку ядер lx106 і об’єктних кодів тестування кешу.

Зрештою, якщо ви хочете дізнатися більше про зміни та нові функції в цій новій версії QEMU 7.1, ви можете знайти подробиці та багато іншого за наступним посиланням.


Додати як пріоритетне джерело в Google