QEMU 4.1 эмуляторыг гаргасан

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

Уг төслийг Fabrice Bellard анх x86 платформд зориулан бүтээгдсэн Линукс программуудыг x86 бус архитектур дээр ажиллуулах боломжийг олгох зорилгоор бүтээжээ. Хөгжлийн жилүүдэд 14 техник хангамжийн архитектурт бүрэн эмуляцын дэмжлэг нэмэгдэж, дуурайлган хийсэн техник хангамжийн төхөөрөмжийн тоо 400-аас давсан. 4.1 хувилбарт бэлтгэхийн тулд 2000 хөгжүүлэгчээс 276 гаруй өөрчлөлт хийсэн.

Түлхүүр сайжруулалтQEMU 4.1-д нэмсэн:

  • Hygon Dhyana болон Intel SnowRidge CPU загваруудын дэмжлэгийг x86 архитектурын эмулятор дээр нэмсэн. RDRAND өргөтгөлийн эмуляцийг нэмсэн (техник хангамжийн псевдо санамсаргүй тоо үүсгэгч). Тугуудыг нэмсэн
    халдлагын хамгаалалтыг хянахын тулд md-clear болон mds-no MDS (Бичил архитектурын өгөгдлийн дээж авах) Intel процессорууд дээр. “-smp ...,dies=” тугийг ашиглан нэгдсэн хэлхээний топологийг тодорхойлох чадварыг нэмсэн. Хувилбарыг бүх x86 CPU загварт хэрэгжүүлсэн;

  • SSH блок драйверыг ашиглахаас шилжүүлсэн libssh2 тухай libsh;
  • Virtio-gpu драйвер (төслийн нэг хэсэг болгон боловсруулсан виртуал GPU). Виргил) 2D/3D дүрслэх үйлдлүүдийг гадаад vhost-хэрэглэгчийн процесс руу шилжүүлэхэд дэмжлэг нэмсэн (жишээ нь, vhost-user-gpu);
  • ARM архитектурын эмулятор нь псевдо санамсаргүй тоо үүсгэх ARMv8.5-RNG өргөтгөлийн дэмжлэгийг нэмсэн. Cortex-M гэр бүлийн чипүүдэд FPU эмуляцийг дэмжсэн бөгөөд Cortex-R5F-ийн FPU эмуляцтай холбоотой асуудлууд шийдэгдсэн. Kconfig загвараар бүтээгдсэн бүтээх сонголтуудыг тохируулах шинэ системийг санал болгов. SoC Exynos4210-ийн хувьд PL330 DMA хянагчдад зориулсан дэмжлэг нэмэгдсэн;
  • MIPS архитектурын эмулятор нь том-эндиан байтын дарааллыг ашиглах үед MSA ASE зааварчилгааны дэмжлэгийг сайжруулж, лавлагааны техник хангамжтай тэг тохиолдолд хуваах ажлыг тохируулсан. Бүхэл тооны тооцоолол, солих үйлдлүүдэд зориулсан MSA зааврын эмуляцийн гүйцэтгэл нэмэгдсэн;
  • PowerPC архитектурын эмулятор нь одоо VFIO ашиглан NVIDIA V100/NVLink2 GPU руу дамжуулахыг дэмждэг. Pseries-ийн хувьд XIVE тасалдал хянагч эмуляцийн хурдатгал хэрэгжиж, PCI гүүрийг халуун залгахад дэмжлэг нэмсэн. Вектор зааврын эмуляцийг оновчтой болгосон (Altivec/VSX);
  • RISC-V архитектурын эмуляторт шинэ техник хангамжийн загвар нэмэгдсэн - "спик". ISA 1.11.0-д зориулсан дэмжлэг нэмэгдсэн. 32 битийн системийн дуудлагын ABI-г сайжруулж, хүчингүй зааварчилгааг сайжруулж, суурилуулсан дибаглагчийг сайжруулсан. Төхөөрөмжийн мод дахь CPU топологийн дэмжлэг нэмэгдсэн;
  • s390 архитектурын эмулятор нь "Вектор байгууламж" бүлгийн бүх вектор зааварчилгааг дуурайх дэмжлэгийг нэмсэн бөгөөд gen15 системийг дэмжих нэмэлт элементүүдийг нэмсэн (vfio-ap-д зориулсан AP Queue Interruption Facility-д нэмэлт дэмжлэг орно). vfio-ccw-ээр зочны системд холбогдсон ECKD DASD-ээс ачаалах BIOS-ийн дэмжлэгийг хэрэгжүүлсэн;
  • Sun4m системд зориулсан SPARC архитектурын эмулятор дээр OpenBIOS-д "-vga none" тугийг ашиглахтай холбоотой асуудлууд шийдэгдсэн;
  • Tensilica Xtensa гэр бүлийн процессор эмулятор нь MPU (санах ойн хамгаалалтын нэгж) болон онцгой хандалтын сонголтуудыг агуулдаг;
  • Оролт/гаралтын алдаа гарсан тохиолдолд дүрс хувиргах процессын уналтыг идэвхгүй болгохын тулд "qemu-img convert" команд дээр "-salvage" сонголтыг нэмсэн (жишээ нь, хэсэгчлэн гэмтсэн qcow2 файлуудыг сэргээхэд ашиглаж болно). Багаар
    "qemu-img rebase" нь оролтын файлд арын файл хараахан үүсгэгдээгүй үед ажилладаг;

  • "Semihosting" технологийг ашиглан зохион байгуулалттай гаралтыг дахин чиглүүлэх чадварыг (эмуляци хийсэн төхөөрөмжид хост талд файл үүсгэхийн тулд stdout, stderr болон stdin ашиглахыг зөвшөөрдөг) chardev арын хэсэгт ("-semihosting-config enable=on,target=native) нэмсэн. ,chardev=[ID]");
  • VMDK блок драйвер дээр зөвхөн унших горимд seSparse дэд форматын дэмжлэгийг нэмсэн;
  • GPIO эмуляцийн драйвер дахь SiFive GPIO хянагчийг дэмжих дэмжлэг нэмэгдсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх