Rust жана Vulkan колдоосу менен QEMU 9.2.0 эмулятору жарыяланды

QEMU 9.2 долбоорунун релизи көрсөтүлдү. Эмулятор катары QEMU такыр башка архитектурасы бар системада бир аппараттык платформа үчүн түзүлгөн программаны иштетүүгө мүмкүндүк берет, мисалы, x86-шайкеш компьютерде ARM тиркемесин иштетүү. QEMUдеги виртуалдаштыруу режиминде, обочолонгон чөйрөдө коддун аткарылышынын көрсөткүчтөрү CPU боюнча көрсөтмөлөрдүн түздөн-түз аткарылышынан жана Xen гипервизорунун же Linuxдо KVM модулунун же NVMM модулунун колдонулушунан улам аппараттык системага жакын. NetBSD.

Долбоор алгач Fabrice Bellard тарабынан x86 эмес архитектураларда x86 платформасы үчүн түзүлгөн Linux аткаруучу файлдарын иштетүү мүмкүнчүлүгүн берүү үчүн түзүлгөн. Өнүгүү жылдарында 14 аппараттык архитектура үчүн толук эмуляцияны колдоо кошулду, эмуляцияланган аппараттык түзүлүштөрдүн саны 400дөн ашты. 9.2 версиясын даярдоодо 1700 иштеп чыгуучулардан 209дөн ашык өзгөртүүлөр киргизилди.

Негизги жакшыртуулар QEMU 9.2 кошулду:

  • Rust менен жазылган түзмөк моделдерин түзүү үчүн эксперименталдык колдоо кошулду. Rust колдоосу менен QEMU куруп жатканда, демейки боюнча Rust тилинде жазылган PL011 UART драйверинин альтернативалуу ишке ашырылышы колдонулат, бирок кеңири жайылтуу үчүн азырынча сунушталбайт.

    Учурда QEMUдагы Rust колдоосу демейки боюнча өчүрүлгөн жана конфигурациялоо скриптин иштетип жатканда “--enable-rust” опциясын көрсөтүү менен куруу учурунда иштетилген. Rust менен куруу үчүн сизге жок дегенде rustc 1.63.0 жана bindgen 0.60.0 версиялары керек (мисалы, Debian 12де Rustтун жаңыраак версиясын өзүнчө орнотушуңуз керек). Келечекте, Rust компилятору жана биндгенди куруу көз карандылыктары талап кылынгандай кошуу пландаштырылууда.

    QEMUде Rustту илгерилетүүгө байланыштуу пландарга HPET (High Precision Event Timer) драйверин жана Rust менен жазылган блоктук түзүлүштөрдүн драйверин иштөө абалына келтирүү, Rustту ар кандай QEMU компоненттеринде колдонуу үчүн негиздерди иштеп чыгууну улантуу кирет (мисалы, блок айдоочу түзмөктөрдү, таймерлерди жана GPIO), Rust virtio сыяктуу коопсуздук үчүн маанилүү системаларды кайра жазуу.

  • Виртуалдык GPU'ну иштеткен VirtIO-GPU түзмөгү Mesa камтылган Venus Vulkan драйвери аркылуу ишке ашырылган Vulkan графикалык API аркылуу 3D ылдамдатууну колдойт, бул конок системасын ачпастан 3D рендеринг үчүн виртуалдык GPU менен камсыз кылууга мүмкүндүк берет. физикалык GPUга эксклюзивдүү түз жетүү. Иштөө үчүн сизде хост тутумунун тарабында virglrenderer китепканасы жана конок системасы тарабында Venus Mesa драйвери болушу керек. QEMU ичинде Vulkan колдоосун орнотуу боюнча нускамалар жеткиликтүү.
  • Конок миграциясынын инструменттери кысуу жана шифрлөө менен байланышкан эсептөөлөрдү тездетүү үчүн куралдарды сунуштаган Intel процессорлорунда орнотулган QAT (QuickAssist Technology) акселераторун колдонгон QATzip китепканасын колдонуу менен бир эле убакта берилүүчү маалымат агымдарында кысуу операцияларын тездетүүгө колдоо кошту.
  • SHA-384 хэширлөө алгоритмин колдоо GLib негизиндеги криптографиялык артка кошулду.
  • ARM архитектура эмулятору FEAT_EBF16 жана FEAT_CMOW процессорунун кеңейтүүлөрүн, ошондой эле xilinx-zynq-a9 такталарында колдонулган коопсуздук кеңейтүүлөрүн колдоону кошту. ARM Mac компьютерлеринде коноктун аткарылышын тездетүү үчүн Hypervisor.framework инструменттерин колдонгон HVF компонентин колдонууда, 64 ГБ ашык эс тутумга колдоо көрсөтүлөт. Эмуляцияланган sbsa-ref жана virt системалары үчүн SMMU (системалык эстутум башкаруу бирдиги) эки этаптуу дарек которууну колдоо кошулду. Akita, Borzoi, Cheetah, Connex, Mainstone, n800, n810, spitz, terrier, tosa, verdex жана z2 эски эмуляцияланган жабдык түрлөрүн колдоо токтотулду.
  • x86 архитектуралык эмулятору аппараттык конфигурациянын жаңы түрүн - AWS Nitro Enclave чөйрөсүн эмуляциялаган жана системанын сүрөттөрүн Enclave Image Format форматында жүктөй алган нитро-анклав үчүн колдоону кошту.
  • Гипервизор үчүн x86 архитектурасынын эмуляторунда KVM AVX10 инструкциялар топтомун, ошондой эле AVX10дун белгилүү бир версияларын — avx10-128, avx10-256 жана avx10-512 — колдоо мүмкүнчүлүгү ишке ашырылды.
  • RISC-V архитектуралык эмулятору OpenTitan такталарында колдонулган Svvptc, Bitmanip (Bit-Manipulation) жана CFI (Control Flow Integrity) командалар топтомунун кеңейтүүлөрүн колдоону кошту. IOMMU колдоосу “virt” эмуляцияланган системанын түрүнө кошулду. ld жана st нускамаларынын жакшыртылган аткаруу.
  • HPPA архитектура эмуляторунда SeaBIOS-hppa микропрограммасы 17-версияга жаңыртылган.
  • Эгерде көрсөтүлгөн түзмөктөн жүктөө ишке ашпай калса, s390x архитектура эмуляторуна башка түзмөктөрдөн жүктөө мүмкүнчүлүгү кошулду.

Source: opennet.ru

Комментарий кошуу