ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π΅ ΡΠ΅Π»ΠΈΠ·ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° QEMU 7.1. KΠ°ΡΠΎ Π΅ΠΌΡΠ»Π°ΡΠΎΡ, QEMU ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π° Π·Π° Π΅Π΄Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ARM Π½Π° x86 ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΠ. Π ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² QEMU ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π° Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ ΡΠ°Π·ΠΈ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π½Π° CPU ΠΈ Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Xen ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Π° KVM.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Π€Π°Π±ΡΠΈΡ ΠΠ΅Π»Π»Π°Ρ (Fabrice Bellard) Ρ ΡΠ΅Π» Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° x86 ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ x86. ΠΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠ»Π½Π° Π΅ΠΌΡΠ»ΡΡΠΈΡ Π·Π° 14 Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, Π° Π±ΡΠΎΡΡ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 400. ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡ 7.1 ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π½Π°Π΄ 2800 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡ 238 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² QEMU 7.1:
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Linux Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠΏΡΠΈΡ zero-copy-send, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ live-ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ°Π½ΠΎΡΡ.
- Π QMP (QEMU Machine Protocol) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° block-export-add Π·Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ NBD Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ "dirty". Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ βquery-statsβ ΠΈ βquery-stats-schemaβ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° QEMU.
- Π Π°Π³Π΅Π½ΡΠ° Π·Π° Π³ΠΎΡΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Solaris ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ βguest-get-diskstatsβ ΠΈ βguest-get-cpustatsβ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅ΡΠ΅ ΠΈ CPU. Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βguest-get-disksβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ ΠΎΡ NVMe SMART, Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βguest-get-fsinfoβ ΠΈΠ·Ρ ΠΎΠ΄ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΠΈΠΏΠ° Π½Π° ΡΠΈΠ½Π° NVMe.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² Π΅ΠΌΡΠ»Π°ΡΠΎΡ LoongArch Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° 64-Π±ΠΈΡΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ LoongArch (LA64). ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Loongson 3 5000 ΠΈ ΡΠ΅Π²Π΅ΡΠ½ΠΈ ΠΌΠΎΡΡΠΎΠ²Π΅ Loongson 7A1000.
- Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° ARM ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ: Aspeed AST1030 SoC, Qualcomm ΠΈ AST2600 / AST1030 (fby35). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° CPU Cortex-A76 ΠΈ Neoverse-N1, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° SME (Scalable Matrix Extensions), RAS (Reliability, Availability, Serviceability) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ ΠΎΡ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° CPU. ΠΠ° ΠΌΠ°ΡΠΈΠ½ΠΈΡΠ΅ β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β Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π΄ΠΎ 4 UART ΡΡΡΡΠΎΠΉΡΡΠ²Π° 16550A.
- Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC-V Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (ISA), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ 1.12.0, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Sdtrig ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. Π Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° βvirtβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° TPM (Trusted Platform Module), Π° Π² ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° βOpenTitanβ β ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Ibex SPI.
- Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° 390x Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° VEF 2 (Vector-Enhancements Facility 2). Π s390-ccw BIOS Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ Π΄ΠΈΡΠΊ Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ΅ΠΊΡΠΎΡΠ°, ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΎΡ 512 Π±Π°ΠΉΡΠ°.
- Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Xtensa Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΄ΡΠ°ΡΠ° lx106 ΠΈ ΠΎΠ±Π΅ΠΊΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
