Famoahana ny emulator QEMU 6.2

Atolotra ny famoahana ny tetikasa QEMU 6.2. Amin'ny maha-emulator azy, ny QEMU dia ahafahanao mampandeha programa natsangana ho an'ny sehatra hardware iray amin'ny rafitra iray manana maritrano hafa tanteraka, ohatra, mampandeha fampiharana ARM amin'ny PC mifanentana amin'ny x86. Ao amin'ny fomba virtoaly ao amin'ny QEMU, ny fanatanterahana ny famonoana kaody amin'ny tontolo mitoka-monina dia manakaiky ny rafitra hardware noho ny fanatanterahana mivantana ny torolΓ lana momba ny CPU sy ny fampiasana ny Xen hypervisor na KVM module.

Ny tetikasa dia noforonin'i Fabrice Bellard tany am-boalohany mba hamela ny Linux executable natsangana ho an'ny sehatra x86 mba hihazakazaka amin'ny maritrano tsy x86. Nandritra ny taona maro nisian'ny fampandrosoana, dia nampiana fanohanana feno emulation ho an'ny architectures hardware 14, mihoatra ny 400 ny isan'ny fitaovana emulated hardware. Ho fanomanana ny version 6.2, mihoatra ny 2300 ny fanovana natao tamin'ny developer 189.

Fanatsarana lehibe nampiana tao amin'ny QEMU 6.2:

  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ virtio-mem, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ горячСС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ памяти ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ машинам, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° полная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π°ΠΌΠΏΠΎΠ² памяти гостСвых систСм, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ копирования ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ послС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ окруТСния (pre-copy/post-copy) ΠΈ создания ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² гостСвой систСмы Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • Π’ QMP (QEMU Machine Protocol) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок DEVICE_UNPLUG_GUEST_ERROR, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π½Π° сторонС гостСвой систСмы Π² случаС сбоСв ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ горячСго ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ оборудования.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ синтаксис Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ… ΠΊ классичСскому Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator). Π’ ΠΏΠ»Π°Π³ΠΈΠ½ Β«cacheΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многоядСрных систСм.
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU Intel Snowridge-v4. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° доступа ΠΊ Π°Π½ΠΊΠ»Π°Π²Π°ΠΌ Intel SGX (Software Guard eXtensions) ΠΈΠ· гостСвых систСм, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ устройство /dev/sgx_vepc Π½Π° сторонС хост-систСмы ΠΈ бэкСнд Β«memory-backend-epcΒ» Π² QEMU. Для гостСвых систСм, Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD SEV (Secure Encrypted Virtualization), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ прямого (Π±Π΅Π· использования Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°) запуска ядра (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ выставлСниСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° β€˜kernel-hashes=on’ Π² β€˜sev-guest’).
  • Π’ эмуляторС ARM Π½Π° хост-систСмах с Ρ‡ΠΈΠΏΠΎΠΌ Apple Silicon Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния Β«hvfΒ» ΠΏΡ€ΠΈ запускС гостСвых систСм Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AArch64. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° эмуляции ΠΌΠΎΠ΄Π΅Π»ΠΈ процСссоров Fujitsu A64FX. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ эмулируСмых машин Β«kudo-mbcΒ». Для машин β€˜virt’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° эмуляции ITS (Interrupt Translation Service) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π±ΠΎΠ»Π΅Π΅ 123 CPU Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ эмуляции. Для эмулируСмых машин Β«xlnx-zcu102Β» ΠΈ Β«xlnx-versal-virtΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° устройств BBRAM ΠΈ eFUSE. Для систСм Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠ° Cortex-M55 прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мобильного профиля процСссорных Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ MVE.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU POWER10 DD2.0. Для эмулируСмых машин Β«powernvΒ» ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ POWER10, Π° для машин β€˜pseries’ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ описания FORM2 PAPR NUMA.
  • Π’ эмулятор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡ€Π° инструкций Zb[abcs]. Для всСх эмулируСмых машин Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΉ Β«host-userΒ» ΠΈ Β«numa memΒ». Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SiFive PWM (Pulse-width modulator).
  • Π’ эмуляторС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ 68k ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Apple ΡˆΠΈΠ½Ρ‹ NuBus, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠŸΠ—Π£ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ слотов ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ.
  • Π’ Π±Π»ΠΎΡ‡Π½ΠΎΠΌ устройствС qemu-nbd ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи (Β«writebackΒ» вмСсто Β«writethroughΒ») для соотвСтствия повСдСнию qemu-img. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”selinux-labelΒ» для выставлСния ΠΌΠ΅Ρ‚ΠΎΠΊ SELinux Unix-сокСтам.

Source: opennet.ru

Add a comment