QEMU 4.2 էմուլյատորի թողարկում

Ներկայացվել է նախագծի թողարկում QEMU 4.2. Որպես էմուլյատոր՝ QEMU-ն թույլ է տալիս գործարկել մեկ ապարատային պլատֆորմի համար կազմված ծրագիր բոլորովին այլ ճարտարապետություն ունեցող համակարգում, օրինակ՝ գործարկել ARM հավելվածը x86-ի հետ համատեղելի համակարգչի վրա: QEMU-ում վիրտուալացման ռեժիմում կոդերի կատարման կատարումը մեկուսացված միջավայրում մոտ է հայրենի համակարգին՝ պրոցեսորի վրա հրահանգների ուղղակի կատարման և Xen հիպերվիզորի կամ KVM մոդուլի օգտագործման պատճառով:

Նախագիծն ի սկզբանե ստեղծվել է Ֆաբրիս Բելարդի կողմից՝ x86 պլատֆորմի համար ստեղծված Linux գործադիրներին թույլ տալու համար աշխատել ոչ x86 ճարտարապետություններով: Մշակման տարիների ընթացքում ամբողջական էմուլյացիոն աջակցություն է ավելացվել 14 ապարատային ճարտարապետության համար, ընդօրինակվող ապարատային սարքերի թիվը գերազանցել է 400-ը: 4.2 տարբերակի նախապատրաստման ընթացքում կատարվել են ավելի քան 2200 փոփոխություններ 198 մշակողների կողմից:

Բանալի բարելավումներավելացված է QEMU 4.2-ում.

  • В классическом генераторе кода TCG (Tiny Code Generator) реализована поддержка плагинов для мониторинга процессорных инструкций и адресов в памяти;
  • В драйвере блочных устройств NDB (Network Block Device) обеспечена более эффективная обработка запросов копирования при чтении (copy-on-read). Код NBD-сервера оптимизирован для копирования разрежённых образов (с пустотами). Внесены общие улучшения в реализацию клиента и сервера NBD;
  • Повышена производительность шифрования LUKS-дисков с использованием алгоритма AES-XTS;
  • В vfio-pci добавлена поддержка свойства «failover_pair_id» для упрощения миграции устройств VFIO;
  • В virtio-mmio добавлена поддержка стандарта virtio-compatible 2 и определённого в спецификации virtio 1.1 механизма упакованных виртуальных очередей (virtqueue) для обмена данными с виртуальным устройством ввода/вывода в пакетном режиме;
  • В эмулятор архитектуры x86 добавлен новый тип эмулируемых машин «microvm», использующих virtio-mmio вместо PCI для оптимизации производительности. Реализована возможность включения и выключения VMX через флаги «-cpu». Добавлена поддержка эмуляции расширений AVX512 BFloat16. Обеспечена поддержка новых моделей CPU Denverton (серверный SoC на базе Atom), Snowridge и Dhyana. Стабилизирована поддержка macOS Hypervisor Framework («-accel hvf»);
  • В эмулятор архитектуры ARM добавлена поддержка эмуляции SoC Aspeed AST2600 («ast2600-evb»). Добавлена поддержка технологии Semihosting 2.0 c расширениями STDOUT_STDERR/EXIT_EXTENDED, которая позволяет эмулируемому устройству использовать stdout, stderr и stdin для создания файлов на стороне хоста. В KVM добавлена возможность использования более 256 CPU и обеспечена поддержка SIMD-инструкций SVE. В виртуальных машинах с типом «առաքինություն» реализована поддержка горячего подключения памяти. Увеличена производительность эмуляции с использованием генератора кода TCG.
  • В эмуляторе архитектуры PowerPC появилась возможность эмуляции POWER9-инструкций mffsce, mffscrn и mffscrni. В эмулируемых машинах «powernv» добавлена поддержка системных устройств Homer и OCC SRAM;
  • В эмуляторе архитектуры RISC-V добавлена опция «-initrd» и возможность просмотра полного состояния архитектуры в отладчике;
  • В эмуляторе архитектуры s390 реализована поддержка инструкций IEP (Instruction Execution Protection);
  • В эмулятор архитектуры 68k добавлена начальная возможность эмуляции Macintosh Quadro 800 и классических систем NeXTcube;
  • В эмуляторе архитектуры xtensa добавлен новый тип эмулируемых машин «virt» и реализована поддержка ABI call0 для эмуляции в пространстве пользователя.

Source: opennet.ru

Добавить комментарий