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

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

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

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

  • บนแพลตฟอร์ม Linux มีการใช้ตัวเลือกการส่งสำเนาเป็นศูนย์ ซึ่งช่วยให้คุณสามารถจัดระเบียบการถ่ายโอนเพจหน่วยความจำในระหว่างการโอนย้ายแบบเรียลไทม์โดยไม่ต้องบัฟเฟอร์กลาง
  • QMP (QEMU Machine Protocol) ได้เพิ่มความสามารถในการใช้คำสั่ง block-export-add เพื่อส่งออกอิมเมจ NBD ด้วยข้อมูลเพจในสถานะ "สกปรก" คำสั่งใหม่ 'query-stats' และ 'query-stats-schema' ได้รับการเพิ่มเข้าไปในสถิติการสืบค้นจากระบบย่อย QEMU ต่างๆ
  • Guest Agent ได้ปรับปรุงการสนับสนุนสำหรับแพลตฟอร์ม Solaris และเพิ่มคำสั่ง 'guest-get-diskstats' และ 'guest-get-cpustats' ใหม่เพื่อแสดงสถานะของดิสก์และ CPU เพิ่มเอาต์พุตข้อมูลจาก NVMe SMART ไปยังคำสั่ง 'guest-get-disks' และเอาต์พุตข้อมูลเกี่ยวกับประเภทบัส NVMe ไปยังคำสั่ง 'guest-get-fsinfo'
  • เพิ่มโปรแกรมจำลอง LoongArch ใหม่พร้อมการรองรับสถาปัตยกรรมชุดคำสั่ง LoongArch (LA64) แบบ 64 บิต โปรแกรมจำลองรองรับโปรเซสเซอร์ Loongson 3 5000 และ Loongson 7A1000 northbridges
  • โปรแกรมจำลอง ARM ใช้เครื่องจำลองประเภทใหม่: Aspeed AST1030 SoC, Qaulcomm และ AST2600/AST1030 (fby35) เพิ่มการรองรับการจำลอง CPU Cortex-A76 และ Neoverse-N1 รวมถึงส่วนขยายโปรเซสเซอร์ SME (ส่วนขยายเมทริกซ์ที่ปรับขนาดได้), RAS (ความน่าเชื่อถือ ความพร้อมใช้งาน ความสามารถในการให้บริการ) และคำสั่งสำหรับการบล็อกการรั่วไหลจากแคชภายในระหว่างการดำเนินการตามคำสั่งบนการเก็งกำไร ซีพียู สำหรับเครื่อง 'virt' ได้มีการนำการจำลองตัวควบคุมขัดจังหวะ GICv4 มาใช้
  • ในโปรแกรมจำลองสถาปัตยกรรม x86 สำหรับ KVM มีการเพิ่มการรองรับการจำลองเสมือนของกลไกการติดตาม LBR (Last Branch Record)
  • โปรแกรมจำลองสถาปัตยกรรม HPPA นำเสนอเฟิร์มแวร์ใหม่ที่ใช้ SeaBIOS v6 ซึ่งรองรับการใช้แป้นพิมพ์ PS/2 ในเมนูบูต ปรับปรุงการจำลองพอร์ตอนุกรม เพิ่มแบบอักษรคอนโซล STI เพิ่มเติม
  • โปรแกรมจำลองสถาปัตยกรรม MIPS สำหรับบอร์ด Nios2 (-machine 10m50-ghrd) ใช้การจำลอง Vectored Interrupt Controller และชุดเงาของรีจิสเตอร์ ปรับปรุงการจัดการข้อยกเว้น
  • โปรแกรมจำลองสถาปัตยกรรม OpenRISC สำหรับเครื่อง 'or1k-sim' ได้เพิ่มความสามารถในการใช้อุปกรณ์ UART 4A ได้สูงสุด 16550 เครื่อง
  • ตัวจำลองสถาปัตยกรรม RISC-V ได้เพิ่มการรองรับส่วนขยายชุดคำสั่ง (ISA) ใหม่ที่กำหนดไว้ในข้อกำหนด 1.12.0 รวมถึงเพิ่มการรองรับสำหรับส่วนขยาย Sdtrig และการสนับสนุนที่ได้รับการปรับปรุงสำหรับคำสั่งเวกเตอร์ ปรับปรุงความสามารถในการดีบัก เพิ่มการสนับสนุน TPM (Trusted Platform Module) ให้กับเครื่องจำลอง 'virt' และเพิ่มการสนับสนุน Ibex SPI ลงในเครื่อง 'OpenTitan' แล้ว
  • โปรแกรมจำลองสถาปัตยกรรม 390x ให้การสนับสนุนส่วนขยาย VEF 2 (Vector-Enhancements Facility 2) BIOS s390-ccw ให้ความสามารถในการบูตจากดิสก์ที่มีขนาดเซกเตอร์อื่นที่ไม่ใช่ 512 ไบต์
  • ตัวจำลองสถาปัตยกรรม Xtensa ได้เพิ่มการรองรับเคอร์เนล lx106 และโค้ดอ็อบเจ็กต์สำหรับการทดสอบแคช

ที่มา: opennet.ru

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