การเปิดตัวโปรแกรมจำลอง QEMU 4.1

แนะนำ การเปิดตัวโครงการ QEMU 4.1. ในฐานะอีมูเลเตอร์ QEMU ช่วยให้คุณสามารถรันโปรแกรมที่คอมไพล์สำหรับแพลตฟอร์มฮาร์ดแวร์เดียวบนระบบที่มีสถาปัตยกรรมที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เช่น รันแอปพลิเคชัน ARM บนพีซีที่รองรับ x86 ในโหมดการจำลองเสมือนใน QEMU ประสิทธิภาพของการเรียกใช้โค้ดในสภาพแวดล้อมแบบแยกจะใกล้เคียงกับระบบเนทิฟ เนื่องจากการดำเนินการตามคำสั่งโดยตรงบน CPU และการใช้ Xen Hypervisor หรือโมดูล KVM

เดิมทีโปรเจ็กต์นี้สร้างขึ้นโดย Fabrice Bellard เพื่อให้โปรแกรมปฏิบัติการ Linux ที่สร้างขึ้นสำหรับแพลตฟอร์ม x86 ทำงานบนสถาปัตยกรรมที่ไม่ใช่ x86 ในช่วงหลายปีที่ผ่านมาของการพัฒนา มีการเพิ่มการรองรับการจำลองแบบเต็มรูปแบบสำหรับสถาปัตยกรรมฮาร์ดแวร์ 14 แบบ จำนวนอุปกรณ์ฮาร์ดแวร์ที่จำลองมีมากกว่า 400 รายการ ในการเตรียมการสำหรับเวอร์ชัน 4.1 มีการเปลี่ยนแปลงมากกว่า 2000 รายการจากนักพัฒนา 276 คน

สำคัญ การปรับปรุงเพิ่มใน QEMU 4.1:

  • เพิ่มการรองรับโมเดล Hygon Dhyana และ Intel SnowRidge CPU ให้กับโปรแกรมจำลองสถาปัตยกรรม x86 แล้ว เพิ่มการจำลองส่วนขยาย RDRAND (ตัวสร้างตัวเลขสุ่มหลอกด้วยฮาร์ดแวร์) เพิ่มธง
    md-clear และ mds-no เพื่อควบคุมการป้องกันการโจมตี MDS (Microarchitectural Data Sampling) บนโปรเซสเซอร์ Intel เพิ่มความสามารถในการกำหนดโทโพโลยีของวงจรรวมโดยใช้แฟล็ก “-smp ...,dies=” มีการนำการกำหนดเวอร์ชันสำหรับซีพียู x86 ทุกรุ่น

  • ไดรเวอร์บล็อก SSH ถูกย้ายจากการใช้งาน libssh2 บน libsh;
  • ไดรเวอร์ virtio-gpu (GPU เสมือนที่พัฒนาขึ้นโดยเป็นส่วนหนึ่งของโครงการ เฝอ) เพิ่มการรองรับสำหรับการย้ายการดำเนินการเรนเดอร์ 2D/3D ไปยังกระบวนการผู้ใช้ vhost ภายนอก (เช่น vhost-user-gpu)
  • โปรแกรมจำลองสถาปัตยกรรม ARM ได้เพิ่มการรองรับส่วนขยาย ARMv8.5-RNG สำหรับการสร้างตัวเลขสุ่มเทียม มีการรองรับการจำลอง FPU สำหรับชิปตระกูล Cortex-M และปัญหาเกี่ยวกับการจำลอง FPU สำหรับ Cortex-R5F ได้รับการแก้ไขแล้ว มีการเสนอระบบใหม่สำหรับการตั้งค่าตัวเลือกการสร้างซึ่งออกแบบในสไตล์ Kconfig สำหรับ SoC Exynos4210 ได้เพิ่มการรองรับคอนโทรลเลอร์ PL330 DMA แล้ว
  • ตัวจำลองสถาปัตยกรรม MIPS ได้ปรับปรุงการรองรับคำสั่ง MSA ASE เมื่อใช้ลำดับไบต์ขนาดใหญ่ และจัดการจัดการการหารด้วยตัวพิมพ์เป็นศูนย์ด้วยฮาร์ดแวร์อ้างอิง ประสิทธิภาพการจำลองคำสั่ง MSA สำหรับการคำนวณจำนวนเต็มและการเรียงสับเปลี่ยนเพิ่มขึ้น
  • ขณะนี้โปรแกรมจำลองสถาปัตยกรรม PowerPC รองรับการส่งต่อไปยัง GPU NVIDIA V100/NVLink2 โดยใช้ VFIO สำหรับ pseries มีการใช้การเร่งความเร็วของการจำลองคอนโทรลเลอร์ขัดจังหวะ XIVE และเพิ่มการรองรับการเสียบปลั๊ก PCI บริดจ์แบบ hot มีการเพิ่มประสิทธิภาพการจำลองคำสั่งเวกเตอร์ (Alivec/VSX)
  • มีการเพิ่มโมเดลฮาร์ดแวร์ใหม่ลงในโปรแกรมจำลองสถาปัตยกรรม RISC-V - “spike” เพิ่มการสนับสนุนสำหรับ ISA 1.11.0 ABI การเรียกระบบ 32 บิตได้รับการปรับปรุง การจัดการคำสั่งที่ไม่ถูกต้องได้รับการปรับปรุง และปรับปรุงดีบักเกอร์ในตัวแล้ว เพิ่มการรองรับโทโพโลยี CPU ในแผนผังอุปกรณ์
  • ตัวจำลองสถาปัตยกรรม s390 ได้เพิ่มการรองรับสำหรับการจำลองคำสั่งเวกเตอร์ทั้งหมดของกลุ่ม “สิ่งอำนวยความสะดวกเวกเตอร์” และเพิ่มองค์ประกอบเพิ่มเติมเพื่อรองรับระบบ gen15 (รวมถึงการสนับสนุนเพิ่มเติมสำหรับสิ่งอำนวยความสะดวกการหยุดชะงักของคิว AP สำหรับ vfio-ap) ใช้งานการสนับสนุน BIOS สำหรับการบูตจาก ECKD DASD ที่เชื่อมโยงกับระบบเกสต์ผ่าน vfio-ccw
  • ในโปรแกรมจำลองสถาปัตยกรรม SPARC สำหรับระบบ sun4m ปัญหาในการใช้แฟล็ก "-vga none" สำหรับ OpenBIOS ได้รับการแก้ไขแล้ว
  • ตัวจำลองโปรเซสเซอร์ตระกูล Tensilica Xtensa มีตัวเลือกสำหรับ MPU (หน่วยป้องกันหน่วยความจำ) และการเข้าถึงแบบพิเศษ
  • เพิ่มตัวเลือก “-salvage” ให้กับคำสั่ง “qemu-img Convert” เพื่อปิดการใช้งานกระบวนการแปลงอิมเมจในกรณีที่เกิดข้อผิดพลาด I/O (เช่น สามารถใช้เพื่อกู้คืนไฟล์ qcow2 ที่เสียหายบางส่วนได้) อยู่ในทีม
    “ qemu-img rebase” ทำงานเมื่อยังไม่ได้สร้างไฟล์สำรองสำหรับไฟล์อินพุต

  • เพิ่มความสามารถในการเปลี่ยนเส้นทางเอาต์พุตที่จัดระเบียบโดยใช้เทคโนโลยี "semihosting" (อนุญาตให้อุปกรณ์จำลองใช้ stdout, stderr และ stdin เพื่อสร้างไฟล์ในฝั่งโฮสต์) ไปยังแบ็กเอนด์ chardev ("-semihosting-config Enable=on,target=native ,chardev=[ ID]");
  • ขณะนี้ไดรเวอร์บล็อก VMDK รองรับรูปแบบย่อย seSparse ในโหมดอ่านอย่างเดียว
  • เพิ่มการรองรับตัวควบคุม SiFive GPIO ในไดรเวอร์การจำลอง GPIO

ที่มา: opennet.ru

เพิ่มความคิดเห็น