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

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

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

การปรับปรุงสำคัญที่เพิ่มเข้ามาใน QEMU 6.2:

  • กลไก virtio-mem ซึ่งช่วยให้คุณสามารถเสียบปลั๊กและตัดการเชื่อมต่อหน่วยความจำกับเครื่องเสมือนได้เพิ่มการสนับสนุนอย่างเต็มที่สำหรับการถ่ายโอนข้อมูลหน่วยความจำของแขก การดำเนินการคัดลอกก่อนและหลังการย้ายสภาพแวดล้อม (ก่อนการคัดลอก/หลังการคัดลอก) และการสร้างสแน็ปช็อตของ ระบบแขกในเบื้องหลัง
  • QMP (QEMU Machine Protocol) ใช้การจัดการข้อผิดพลาด DEVICE_UNPLUG_GUEST_ERROR ที่เกิดขึ้นบนฝั่งระบบเกสต์ในกรณีที่เกิดความล้มเหลวระหว่างการทำงานของฮอตปลั๊ก
  • ไวยากรณ์ของอาร์กิวเมนต์โหลดที่ประมวลผลในปลั๊กอินสำหรับตัวสร้างโค้ด TCG (Tiny Code Generator) แบบคลาสสิกได้รับการขยายแล้ว เพิ่มการรองรับระบบมัลติคอร์ให้กับปลั๊กอินแคช
  • ตัวจำลองสถาปัตยกรรม 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) และความสามารถในการใช้ CPU มากกว่า 123 ตัวในโหมดการจำลอง เพิ่มการรองรับอุปกรณ์ BBRAM และ eFUSE สำหรับเครื่องจำลอง "xlnx-zcu102" และ "xlnx-versal-virt" สำหรับระบบที่ใช้ชิป Cortex-M55 จะรองรับโปรไฟล์มือถือของส่วนขยายโปรเซสเซอร์ MVE
  • เพิ่มการสนับสนุนเบื้องต้นสำหรับรุ่น CPU POWER10 DD2.0 ให้กับโปรแกรมจำลองสถาปัตยกรรม PowerPC แล้ว สำหรับเครื่อง "powernv" ที่จำลองขึ้น การสนับสนุนสถาปัตยกรรม POWER10 ได้รับการปรับปรุง และสำหรับเครื่อง "pseries" มีการเพิ่มคำอธิบาย FORM2 PAPR NUMA
  • เพิ่มการรองรับส่วนขยายชุดคำสั่ง Zb[abcs] ให้กับตัวจำลองสถาปัตยกรรม RISC-V สำหรับเครื่องจำลองทั้งหมด อนุญาตให้ใช้ตัวเลือก "ผู้ใช้โฮสต์" และ "numa mem" เพิ่มการรองรับ SiFive PWM (โมดูเลเตอร์ความกว้างพัลส์)
  • โปรแกรมจำลอง 68k ได้ปรับปรุงการรองรับ NuBus ของ Apple รวมถึงความสามารถในการบูตอิมเมจ ROM และรองรับสล็อตขัดจังหวะ
  • อุปกรณ์บล็อก qemu-nbd มีโหมดแคชการเขียนที่เปิดใช้งานตามค่าเริ่มต้น ("writeback" แทนที่จะเป็น "writethrough") เพื่อให้ตรงกับพฤติกรรมของ qemu-img เพิ่มตัวเลือก "--selinux-label" สำหรับการติดป้ายกำกับซ็อกเก็ต SELinux Unix

ที่มา: opennet.ru

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