Випуск емулятора QEMU 6.1

Подано реліз проекту QEMU 6.1. Як емулятор QEMU дозволяє запустити програму, зібрану для однієї апаратної платформи, на системі з зовсім іншою архітектурою, наприклад, виконати додаток для ARM на x86-сумісному ПК. В режимі віртуалізації QEMU продуктивність виконання коду в ізольованому оточенні близька до апаратної системи за рахунок прямого виконання інструкцій на CPU і залучення гіпервізора Xen або модуля KVM.

Спочатку проект був створений Фабрисом Белларом (Fabrice Bellard) з метою забезпечення можливості запуску зібраних для платформи x86 файлів Linux, що виконуються, на архітектурах, відмінних від x86. За роки розробки було додано підтримку повної емуляції для 14 апаратних архітектур, кількість емульованих апаратних пристроїв перевищила 400. Під час підготовки версії 6.1 внесено понад 3000 змін від 221 розробника.

Ключові покращення, додані в QEMU 6.1:

  • У QMP (QEMU Machine Protocol) додано команду "blockdev-reopen" для зміни налаштувань вже створеного блокового пристрою.
  • Як пріоритетний криптодрайвер задіяний gnutls, який випереджає інші драйвери за продуктивністю. Драйвер на основі libgcrypt, що раніше пропонувався за замовчуванням, переміщений в розряд опцій, а драйвер на базі nettle залишений як запасний варіант, застосовуваний за відсутності GnuTLS і Libgcrypt.
  • У емуляторі I2C додано підтримку PMBus та I2C-мультиплексорів (pca9546, pca9548).
  • За замовчуванням включено підтримку плагінів до класичного генератора коду TCG (Tiny Code Generator). Додані нові плагіни execlog (журнал виконання) та cache modelling (симуляція поведінки кешу L1 у CPU).
  • До емулятора ARM додано підтримку плат на базі чіпів Aspeed (rainier-bmc, quanta-q7l1), npcm7xx (quanta-gbs-bmc) та Cortex-M3 (stm32vldiscovery). Додано підтримку апаратних двигунів шифрування та хешування, що надаються в чіпах Aspeed. Додано підтримку емуляції інструкцій SVE2 (включаючи bfloat16), операторів для множення матриць та команд скидання буферів асоціативної трансляції (TLB).
  • У емуляторі архітектури PowerPC для емульованих машин «pseries» додано підтримку визначення збоїв при гарячому підключенні пристроїв у нових гостьових оточеннях, підвищено ліміт на число CPU та реалізовано емуляцію деяких інструкцій, специфічних для процесорів POWER10. Додано підтримку плат на базі чіпів Genesi/bPlan Pegasos II (pegasos2).
  • В емуляторі RISC-V реалізовано підтримку платформи OpenTitan і віртуального GPU virtio-vga (на базі virgl).
  • У емулятор s390 додано підтримку 16 покоління CPU і векторних розширень.
  • До емулятора x86 додано підтримку нових моделей CPU Intel (Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton-v3, Snowridge- v3, Dhyana-v2), в яких реалізовано інструкцію XSAVES. В емуляторі чіпсету Q35 (ICH9) реалізовано підтримку гарячого підключення PCI-пристроїв. Поліпшено емуляцію розширень віртуалізації, що надаються в процесорах AMD. Додано опцію bus-lock-ratelimit для обмеження інтенсивності блокування шини гостьовою системою.
  • Додана підтримка використання як прискорювач для гіпервізора NVMM, що розвивається проектом NetBSD.
  • У GUI підтримка аутентифікації пароля при використанні протоколу VNC тепер включається тільки при складанні із зовнішнім криптографічним бекендом (gnutls, libgcrypt або nettle).

Джерело: opennet.ru

Додати коментар або відгук