เบ›เปˆเบญเบเบ•เบปเบง emulator QEMU 7.0

เบเบฒเบ™เบ›เปˆเบญเบเป‚เบ„เบ‡เบเบฒเบ™ QEMU 7.0 เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบต. เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™ emulator, QEMU เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบตเบฎเบฒเบ”เปเบงเบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบกเบปเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ ARM เปƒเบ™ PC เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰ x86. เปƒเบ™เป‚เบซเบกเบ” virtualization เปƒเบ™ QEMU, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเปเบกเปˆเบ™เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเบฎเบฒเบ”เปเบงเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเปˆเบฝเบงเบเบฑเบš CPU เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™ Xen hypervisor เบซเบผเบท KVM.

เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบทเป‰เบ™โ€‹เปƒเบ™โ€‹เป€เบšเบทเป‰เบญเบ‡โ€‹เบ•เบปเป‰เบ™โ€‹เป‚เบ”เบ Fabrice Bellard เป€เบžเบทเปˆเบญโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™ Linux executable เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป€เบงโ€‹เบ—เบต x86 เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™ x86โ€‹. เปƒเบ™เป„เบฅเบเบฐเบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™ emulation เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš 14 เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบฎเบฒเบ”เปเบง, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบฎเบฒเบ”เปเบง emulated เป„เบ”เป‰เป€เบเบตเบ™ 400. เปƒเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบชเบฐเบšเบฑเบš 7.0, เบซเบผเบฒเบเบเบงเปˆเบฒ 2500 เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบˆเบฒเบ 225 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เป€เบžเบตเปˆเบกเปƒเบชเปˆ QEMU 7.0:

  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ x86 ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฝะฐะฑะพั€ะฐ ะธะฝัั‚ั€ัƒะบั†ะธะน Intel AMX (Advanced Matrix Extensions), ั€ะตะฐะปะธะทะพะฒะฐะฝะฝั‹ั… ะฒ ัะตั€ะฒะตั€ะฝั‹ั… ะฟั€ะพั†ะตััะพั€ะฐั… Intel Xeon Scalable. AMX ะฟั€ะตะดะปะฐะณะฐะตั‚ ะฝะพะฒั‹ะต ะฝะฐัั‚ั€ะฐะธะฒะฐะตะผั‹ะต ั€ะตะณะธัั‚ั€ั‹ TMM ยซTILEยป ะธ ะธะฝัั‚ั€ัƒะบั†ะธะธ ะดะปั ะผะฐะฝะธะฟัƒะปัั†ะธะธ ั ะดะฐะฝะฝั‹ะผะธ ะฒ ัั‚ะธั… ั€ะตะณะธัั‚ั€ะฐั…, ั‚ะฐะบะธะต ะบะฐะบ TMUL (Tile matrix MULtiply) ะดะปั ัƒะผะฝะพะถะตะฝะธั ะผะฐั‚ั€ะธั†.
  • ะŸั€ะตะดะพัั‚ะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะถัƒั€ะฝะฐะปะธั€ะพะฒะฐะฝะธั ัะพะฑั‹ั‚ะธะน ACPI ะพั‚ ะณะพัั‚ะตะฒะพะน ัะธัั‚ะตะผั‹ ั‡ะตั€ะตะท ะธะฝั‚ะตั€ั„ะตะนั ACPI ERST.
  • ะ’ ะผะพะดัƒะปะต virtiofs, ะฟั€ะธะผะตะฝัะตะผะพะผ ะดะปั ะฟั€ะพะฑั€ะพัะฐ ั‡ะฐัั‚ะธ ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผั‹ ั…ะพัั‚-ะพะบั€ัƒะถะตะฝะธั ะฒ ะณะพัั‚ะตะฒัƒัŽ ัะธัั‚ะตะผัƒ, ัƒะปัƒั‡ัˆะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะผะตั‚ะพะบ ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ (security label). ะฃัั‚ั€ะฐะฝะตะฝะฐ ัƒัะทะฒะธะผะพัั‚ัŒ CVE-2022-0358, ะฟะพะทะฒะพะปััŽั‰ะฐั ะฟะพะดะฝัั‚ัŒ ัะฒะพะธ ะฟั€ะธะฒะธะปะตะณะธะธ ะฒ ัะธัั‚ะตะผะต ั‡ะตั€ะตะท ัะพะทะดะฐะฝะธะต ะธัะฟะพะปะฝัะตะผั‹ั… ั„ะฐะนะปะพะฒ ะฒ ะฟั€ะพะฑั€ะฐัั‹ะฒะฐะตะผั‹ั… ั‡ะตั€ะตะท virtiofs ะบะฐั‚ะฐะปะพะณะฐั…, ะฟั€ะธะฝะฐะดะปะตะถะฐั‰ะธั… ะดั€ัƒะณะพะน ะณั€ัƒะฟะฟะต ะธ ัะฝะฐะฑะถั‘ะฝะฝั‹ั… ั„ะปะฐะณะพะผ SGID.
  • ะŸะพะฒั‹ัˆะตะฝะฐ ะณะธะฑะบะพัั‚ัŒ ั€ะตะทะตั€ะฒะฝะพะณะพ ะบะพะฟะธั€ะพะฒะฐะฝะธั ะฝะฐั…ะพะดัั‰ะธั…ัั ะฒ ั€ะฐะฑะพั‚ะต ะฐะบั‚ะธะฒะฝั‹ั… ัะธัั‚ะตะผะฝั‹ั… ะพะฑั€ะฐะทะพะฒ (ัะพะทะดะฐั‘ั‚ัั ัะฝะฐะฟัˆะพั‚, ะฟะพัะปะต ั‡ะตะณะพ ะดะปั ะฐะบั‚ัƒะฐะปะธะทะฐั†ะธะธ ัะพัั‚ะพัะฝะธั ัะฝะฐะฟัˆะพั‚ะฐ ะฟั€ะธะผะตะฝัะตั‚ัั ั„ะธะปัŒั‚ั€ copy-before-write (CBW), ะบะพะฟะธั€ัƒัŽั‰ะธะน ะดะฐะฝะฝั‹ะต ะธะท ะพะฑะปะฐัั‚ะตะน, ะฒ ะบะพั‚ะพั€ั‹ะต ะณะพัั‚ะตะฒะฐั ัะธัั‚ะตะผะฐ ะฒั‹ะฟะพะปะฝัะตั‚ ะทะฐะฟะธััŒ). ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะพะฑั€ะฐะทะพะฒ ะฒ ั„ะพั€ะผะฐั‚ะฐั… ะพั‚ะปะธั‡ะฝั‹ั… ะพั‚ qcow2. ะžะฑะตัะฟะตั‡ะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะดะพัั‚ัƒะฟะฐ ะบ ัะฝะฐะฟัˆะพั‚ัƒ ั ะฑัะบะฐะฟะพะผ ะฝะต ะฝะฐะฟั€ัะผัƒัŽ, ะฐ ั‡ะตั€ะตะท ะดั€ะฐะนะฒะตั€ ะฑะปะพั‡ะฝะพะณะพ ัƒัั‚ั€ะพะนัั‚ะฒะฐ snapshot-access. ะ ะฐััˆะธั€ะตะฝั‹ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะฟะพ ัƒะฟั€ะฐะฒะปะตะฝะธัŽ ั€ะฐะฑะพั‚ะพะน ั„ะธะปัŒั‚ั€ะฐ CBW, ะฝะฐะฟั€ะธะผะตั€, ะผะพะถะฝะพ ะธัะบะปัŽั‡ะฐั‚ัŒ ะธะท ะพะฑั€ะฐะฑะพั‚ะบะธ ะพะฟั€ะตะดะตะปั‘ะฝะฝั‹ะต ะฑะธั‚ะพะฒั‹ะต ะบะฐั€ั‚ั‹.
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ARM ะดะปั ะผะฐัˆะธะฝ โ€˜virtโ€™ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ virtio-mem-pci, ะพะฟั€ะตะดะตะปะตะฝะธั ั‚ะพะฟะพะปะพะณะธะธ CPU ะดะปั ะณะพัั‚ะตะฒะพะน ัะธัั‚ะตะผั‹ ะธ ะฒะบะปัŽั‡ะตะฝะธั PAuth ะฟั€ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ ะณะธะฟะตั€ะฒะธะทะพั€ะฐ KVM ั ัƒัะบะพั€ะธั‚ะตะปะตะผ hvf. ะ’ ัะผัƒะปัั‚ะพั€ะต ะฟะปะฐั‚ โ€˜xlnx-versal-virtโ€™ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ PMC SLCR ะธ ัะผัƒะปัั†ะธะธ ะบะพะฝั‚ั€ะพะปะปะตั€ะฐ Flash-ะฟะฐะผัั‚ะธ OSPI. ะ”ะปั ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ โ€˜xlnx-zynqmpโ€™ ะดะพะฑะฐะฒะปะตะฝั‹ ะฝะพะฒั‹ะต ะผะพะดะตะปะธ ัƒะฟั€ะฐะฒะปะตะฝะธั CRF ะธ APU. ะ”ะพะฑะฐะฒะปะตะฝะฐ ัะผัƒะปัั†ะธั ั€ะฐััˆะธั€ะตะฝะธะน FEAT_LVA2, FEAT_LVA (Large Virtual Address space) ะธ FEAT_LPA (Large Physical Address space).
  • ะ’ ะบะปะฐััะธั‡ะตัะบะพะผ ะณะตะฝะตั€ะฐั‚ะพั€ะต ะบะพะดะฐ TCG (Tiny Code Generator) ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั…ะพัั‚ะพะฒ ั CPU ARMv4 ะธ ARMv5, ะฒ ะบะพั‚ะพั€ั‹ั… ะพั‚ััƒั‚ัั‚ะฒัƒะตั‚ ะฟะพะดะดะตั€ะถะบะฐ ะฝะตะฒั‹ั€ะฐะฒะฝะตะฝะฝะพะณะพ ะดะพัั‚ัƒะฟะฐ ะบ ะฟะฐะผัั‚ะธ ะธ ะฝะตะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะžะ—ะฃ ะดะปั ะฒั‹ะฟะพะปะฝะตะฝะธั QEMU.
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ RISC-V ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณะธะฟะตั€ะฒะธะทะพั€ะฐ KVM ะธ ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ ะฒะตะบั‚ะพั€ะฝั‹ะต ั€ะฐััˆะธั€ะตะฝะธั Vector 1.0, ะฐ ั‚ะฐะบะถะต ะธะฝัั‚ั€ัƒะบั†ะธะธ Zve64f, Zve32f, Zfhmin, Zfh, zfinx, zdinx ะธ zhinx{min}. ะ”ะปั ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ โ€˜spikeโ€™ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะทะฐะณั€ัƒะทะบะธ ะฑะธะฝะฐั€ะฝั‹ั… ั„ะฐะนะปะพะฒ OpenSBI (RISC-V Supervisor Binary Interface). ะ”ะปั ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ โ€˜virtโ€™ ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะดะพ 32 ะฟั€ะพั†ะตััะพั€ะฝั‹ั… ัะดะตั€ ะธ ะฟะพะดะดะตั€ะถะบะฐ AIA.
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ HPPA ะฟั€ะตะดะพัั‚ะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะดะพ 16 vCPU ะธ ัƒะปัƒั‡ัˆะตะฝ ะณั€ะฐั„ะธั‡ะตัะบะธะน ะดั€ะฐะนะฒะตั€ ะดะปั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒัะบะธั… ะพะบั€ัƒะถะตะฝะธะน HP-UX VDE/CDE. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธะทะผะตะฝะตะฝะธั ะฟะพั€ัะดะบะฐ ะทะฐะณั€ัƒะทะบะธ ะดะปั SCSI-ัƒัั‚ั€ะพะนัั‚ะฒ.
  • ะ’ ัะผัƒะปัั‚ะพั€ะต ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ OpenRISC ะดะปั ะฟะปะฐั‚ โ€˜simโ€™ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะดะพ 4 ัะดะตั€ CPU, ะทะฐะณั€ัƒะทะบะธ ะฒะฝะตัˆะฝะตะณะพ ะพะฑั€ะฐะทะฐ initrd ะธ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะน ะณะตะฝะตั€ะฐั†ะธะธ device tree ะดะปั ะทะฐะณั€ัƒะถะฐะตะผะพะณะพ ัะดั€ะฐ.
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ PowerPC ะดะปั ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ โ€˜pseriesโ€™ ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะทะฐะฟัƒัะบะฐ ะณะพัั‚ะตะฒั‹ั… ัะธัั‚ะตะผ ะฟะพะด ัƒะฟั€ะฐะฒะปะตะฝะธะตะผ ะฒะปะพะถะตะฝะฝะพะณะพ ะณะธะฟะตั€ะฒะธะทะพั€ะฐ KVM. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัƒัั‚ั€ะพะนัั‚ะฒะฐ spapr-nvdimm. ะ”ะปั ัะผัƒะปะธั€ัƒะตะผั‹ั… ะผะฐัˆะธะฝ โ€˜powernvโ€™ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะบะพะฝั‚ั€ะพะปะปะตั€ะฐ ะฟั€ะตั€ั‹ะฒะฐะฝะธะน XIVE2 ะธ ะบะพะฝั‚ั€ะพะปะปะตั€ะพะฒ PHB5, ัƒะปัƒั‡ัˆะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ XIVE ะธ PHB 3/4.
  • ะ’ ัะผัƒะปัั‚ะพั€ ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ s390x ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั€ะฐััˆะธั€ะตะฝะธะน z15 (Miscellaneous-Instruction-Extensions Facility 3).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™