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