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

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

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

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

  • โปรแกรมจำลอง x86 เพิ่มการรองรับชุดคำสั่ง Intel AMX (Advanced Matrix Extensions) ที่ใช้ในโปรเซสเซอร์เซิร์ฟเวอร์ Intel Xeon Scalable AMX นำเสนอรีจิสเตอร์ TMM "TILE" แบบกำหนดเองใหม่และคำแนะนำสำหรับการจัดการข้อมูลในรีจิสเตอร์เหล่านี้ เช่น TMUL (ไทล์เมทริกซ์ MULTiply) สำหรับการคูณเมทริกซ์
  • ให้ความสามารถในการบันทึกเหตุการณ์ ACPI จากระบบเกสต์ผ่านอินเทอร์เฟซ ACPI ERST
  • การสนับสนุนป้ายกำกับความปลอดภัยได้รับการปรับปรุงในโมดูล virtiofs ซึ่งใช้เพื่อส่งต่อส่วนหนึ่งของระบบไฟล์ของสภาพแวดล้อมโฮสต์ไปยังระบบเกสต์ แก้ไขช่องโหว่ CVE-2022-0358 ทำให้สามารถยกระดับสิทธิ์ของคุณในระบบโดยการสร้างไฟล์ปฏิบัติการในไดเร็กทอรีที่ส่งต่อผ่าน virtiofs ซึ่งเป็นของกลุ่มอื่นและติดตั้งแฟล็ก SGID
  • ปรับปรุงความยืดหยุ่นในการสำรองข้อมูลอิมเมจระบบที่ใช้งานอยู่ (สร้างสแน็ปช็อต หลังจากนั้นใช้ตัวกรองคัดลอกก่อนเขียน (CBW) เพื่ออัปเดตสถานะของสแน็ปช็อต คัดลอกข้อมูลจากพื้นที่ที่ระบบแขก เขียน). เพิ่มการรองรับรูปภาพในรูปแบบอื่นที่ไม่ใช่ qcow2 ความสามารถในการเข้าถึงสแน็ปช็อตด้วยการสำรองข้อมูลไม่ได้จัดเตรียมไว้โดยตรง แต่ผ่านไดรเวอร์อุปกรณ์บล็อกการเข้าถึงสแน็ปช็อต ความเป็นไปได้ในการควบคุมการทำงานของตัวกรอง CBW ได้รับการขยาย ตัวอย่างเช่น บิตแมปบางรายการสามารถแยกออกจากการประมวลผลได้
  • ARM emulator สำหรับเครื่อง 'virt' เพิ่มการรองรับ virtio-mem-pci, การตรวจจับโทโพโลยี CPU ของแขก และเปิดใช้งาน PAuth เมื่อใช้ไฮเปอร์ไวเซอร์ KVM กับตัวเร่งความเร็ว hvf เพิ่มการรองรับการจำลองคอนโทรลเลอร์ PMC SLCR และ OSPI Flash ในโปรแกรมจำลองบอร์ด 'xlnx-versal-virt' มีการเพิ่มโมเดลการควบคุม CRF และ APU ใหม่สำหรับเครื่องจำลอง 'xlnx-zynqmp' เพิ่มการจำลองส่วนขยาย FEAT_LVA2, FEAT_LVA (พื้นที่ที่อยู่เสมือนขนาดใหญ่) และ FEAT_LPA (พื้นที่ที่อยู่จริงขนาดใหญ่)
  • TCG แบบคลาสสิก (Tiny Code Generator) ได้ยกเลิกการรองรับโฮสต์ที่มี ARMv4 และ ARMv5 CPU ที่ไม่รองรับการเข้าถึงหน่วยความจำที่ไม่ได้จัดตำแหน่ง และไม่มี RAM เพียงพอที่จะเรียกใช้ QEMU
  • ตัวจำลองสถาปัตยกรรม RISC-V เพิ่มการรองรับสำหรับไฮเปอร์ไวเซอร์ KVM และใช้งานส่วนขยายเวกเตอร์ Vector 1.0 เช่นเดียวกับคำสั่ง Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx และ zhinx{min} เพิ่มการสนับสนุนสำหรับการโหลดไฟล์ไบนารี OpenSBI (RISC-V Supervisor Binary Interface) สำหรับเครื่อง 'spike' ที่จำลอง สำหรับเครื่องจำลอง 'virt' ความสามารถในการใช้แกนประมวลผลสูงสุด 32 คอร์และรองรับ AIA
  • ตัวจำลองสถาปัตยกรรม HPPA มี vCPU สูงสุด 16 ตัวและไดรเวอร์กราฟิกที่ได้รับการปรับปรุงสำหรับสภาพแวดล้อมของผู้ใช้ HP-UX VDE/CDE เพิ่มความสามารถในการเปลี่ยนลำดับการบู๊ตสำหรับอุปกรณ์ SCSI
  • เพิ่มการสนับสนุนสำหรับการใช้คอร์ CPU สูงสุด 4 คอร์ การโหลดอิมเมจเริ่มต้นภายนอก และสร้างแผนผังอุปกรณ์โดยอัตโนมัติสำหรับคอร์ที่สามารถบู๊ตได้ในโปรแกรมจำลองสถาปัตยกรรม OpenRISC สำหรับบอร์ด 'ซิม'
  • ตัวจำลองสถาปัตยกรรม PowerPC สำหรับเครื่อง 'pseries' ที่จำลองได้ปรับใช้ความสามารถในการรันระบบเกสต์ภายใต้การควบคุมของไฮเปอร์ไวเซอร์ KVM ที่ซ้อนกัน เพิ่มการสนับสนุนสำหรับอุปกรณ์ spapr-nvdimm เพิ่มการรองรับสำหรับตัวควบคุมการขัดจังหวะ XIVE2 และตัวควบคุม PHB5 สำหรับเครื่องจำลอง 'powernv' ปรับปรุงการสนับสนุนสำหรับ XIVE และ PHB 3/4
  • เพิ่มการรองรับส่วนขยาย z390 (เบ็ดเตล็ด-คำแนะนำ-ส่วนขยายสิ่งอำนวยความสะดวก 15) ในโปรแกรมจำลองสถาปัตยกรรม s3x

ที่มา: opennet.ru

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