ការចេញផ្សាយកម្មវិធីត្រាប់តាម QEMU 6.0

ការចេញផ្សាយគម្រោង QEMU 6.0 ត្រូវបានបង្ហាញ។ ក្នុងនាមជាកម្មវិធីត្រាប់តាម QEMU អនុញ្ញាតឱ្យអ្នកដំណើរការកម្មវិធីដែលបង្កើតឡើងសម្រាប់វេទិកាផ្នែករឹងមួយនៅលើប្រព័ន្ធដែលមានស្ថាបត្យកម្មខុសគ្នាទាំងស្រុង ឧទាហរណ៍ ដំណើរការកម្មវិធី ARM នៅលើកុំព្យូទ័រដែលឆបគ្នា x86 ។ នៅក្នុងរបៀបនិម្មិតនៅក្នុង QEMU ការអនុវត្តការប្រតិបត្តិកូដនៅក្នុងបរិស្ថានដាច់ស្រយាលគឺនៅជិតប្រព័ន្ធផ្នែករឹង ដោយសារការប្រតិបត្តិដោយផ្ទាល់នៃការណែនាំនៅលើ CPU និងការប្រើប្រាស់ម៉ូឌុល Xen hypervisor ឬ KVM ។

គម្រោងនេះត្រូវបានបង្កើតដំបូងដោយ Fabrice Bellard ដើម្បីអនុញ្ញាតឱ្យការប្រតិបត្តិលីនុចដែលបង្កើតឡើងសម្រាប់វេទិកា x86 ដើម្បីដំណើរការលើស្ថាបត្យកម្មដែលមិនមែនជា x86 ។ ក្នុងរយៈពេលជាច្រើនឆ្នាំនៃការអភិវឌ្ឍន៍ ការគាំទ្រការត្រាប់តាមពេញលេញត្រូវបានបន្ថែមសម្រាប់ស្ថាបត្យកម្មផ្នែករឹងចំនួន 14 ចំនួនឧបករណ៍ផ្នែករឹងដែលបានត្រាប់តាមមានលើសពី 400 ។ ក្នុងការរៀបចំសម្រាប់កំណែ 6.0 ការផ្លាស់ប្តូរច្រើនជាង 3300 ត្រូវបានធ្វើឡើងពីអ្នកអភិវឌ្ឍន៍ចំនួន 268 ។

ការកែលម្អសំខាន់ៗដែលបានបន្ថែមនៅក្នុង QEMU 6.0៖

  • Эмулятор контроллеров NVMe приведён к соответствию со спецификацией NVMe 1.4 и снабжён экспериментальной поддержкой зонированных пространств имён, multipath I/O и сквозного шифрования данных на накопителе.
  • Добавлены экспериментальные опции «-machine x-remote» и «-device x-pci-proxy-dev» для выноса эмуляции устройств во внешние процессы. В данном режиме пока поддерживается только эмуляция SCSI-адаптера lsi53c895.
  • Добавлена экспериментальная поддержка создания снапшотов содержимого ОЗУ.
  • Добавлен FUSE-модуль для экспорта блочных устройств, позволяющий примонтировать срез состояния любого блочного устройства, используемого в гостевой системе. Экспорт осуществляется через QMP-команду block-export-add или через опцию «—export» в утилите qemu-storage-daemon.
  • В эмулятор ARM добавлена поддержка архитектуры ARMv8.1-M ‘Helium’ и процессоров Cortex-M55, а также расширенных инструкций ARMv8.4 TTST, SEL2 и DIT. Добавлена поддержка ARM-плат mps3-an524 и mps3-an547, а также. Для плат xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx и sabrelite реализована дополнительная эмуляция устройств.
  • Для ARM в режимах эмуляции на уровне системы и пользовательского окружения реализована поддержка расширения ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющего привязать теги к каждой операции выделения памяти и организовать при доступе к памяти проверку указателя, который должен быть связан с корректным тегом. Расширение может применяться для блокирования эксплуатации уязвимостей, вызванных обращением к уже освобождённым блокам памяти, переполнениями буфера, обращениями до инициализации и использованием вне текущего контекста.
  • В эмуляторе архитектуры 68k добавлена поддержка нового типа эмулируемых машин «virt», использующих для оптимизации производительности устройства virtio.
  • В эмуляторе архитектуры x86 добавлена возможность применения технологии AMD SEV-ES (Secure Encrypted Virtualization) для шифрования регистров процессора, используемых в гостевой системе, что делает содержимое регистров недоступным для хост-окружения, если гостевая система явно не предоставит к ним доступ.
  • В классическом генераторе кода TCG (Tiny Code Generator) при эмуляции систем x86 реализована поддержка механизма PKS (Protection Keys Supervisor), который можно применять для защиты доступа к привилегированным страницам памяти.
  • В эмуляторе архитектуры MIPS добавлен новый тип эмулируемых машин «virt» c поддержкой китайских процессоров Loongson-3.
  • В эмуляторе архитектуры PowerPC для эмулируемых машин «powernv» добавлена поддержка внешних BMC-контроллеров. Для эмулируемых машин pseries обеспечено информирование о сбоях при попытке горячего извлечения памяти и CPU.
  • Добавлена поддержка эмуляции процессоров Qualcomm Hexagon c DSP.
  • В классическом генераторе кода TCG (Tiny Code Generator) реализована поддержка хост-окружений macOS на системах с новым ARM-чипом Apple M1.
  • В эмуляторе архитектуры RISC-V для плат Microchip PolarFire реализована поддержка QSPI NOR flash.
  • В эмуляторе Tricore появилась поддержка новой модели плат TriBoard, эмулирующей SoC Infineon TC27x.
  • В эмуляторе ACPI предоставлена возможность назначения сетевым адаптерам в гостевых системах имён, независящих от порядка подключения к шине PCI.
  • В virtiofs добавлена поддержка опции FUSE_KILLPRIV_V2 для повышения производительности гостевых систем.
  • В VNC добавлена поддержка прозрачности курсора и поддержка масштабирования разрешения экрана в virtio-vga, отталкивающаяся от размера окна.
  • В QMP (QEMU Machine Protocol) добавлена поддержка асинхронного параллельного доступа при выполнении задач резервного копирования.
  • В эмуляторе USB добавлена возможность сохранения трафика, образующегося при работе с USB-устройствами, в отдельный pcap-файл для последующего инспектирования в Wireshark.
  • Добавлены новые QMP-команды load-snapshot, save-snapshot и delete-snapshot для управления снапшотами qcow2.
  • В virtiofs устранены уязвимости CVE-2020-35517 и CVE-2021-20263. Первая проблема позволяет получить доступ к хост-окружению из гостевой системы через создание привилегированным пользователем в гостевой системе специального файла устройств в каталоге, совместно используемом c хост-окружением. Вторая проблема вызвана ошибкой при обработке расширенных атрибутов в опции ‘xattrmap’ и может привести к игнорированию сброса прав на запись и повышению привилегий внутри гостевой системы.

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់