ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° QEMU 8.0. ΠΠ°ΡΠΎ Π΅ΠΌΡΠ»Π°ΡΠΎΡ QEMU Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π·Π° Π΅Π΄Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ARM ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° x86-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΡ. Π ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² QEMU ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π° Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΡΠ°Π΄ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Xen Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡ ΠΈΠ»ΠΈ KVM ΠΌΠΎΠ΄ΡΠ».
ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Fabrice Bellard, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° x86, Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π·Π° 14 Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, Π±ΡΠΎΡΡ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈΠ» 400. Π ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π·Π° Π²Π΅ΡΡΠΈΡ 8.0 ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2800 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ 238 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² QEMU 8.0:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ (ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ° ΡΡΠ»Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° KVM ΠΈ Xen Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡΠΈ) Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Ρ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΅ ΠΎΠ±ΡΠ²Π΅Π½Π° Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π° ΠΈ ΡΠΊΠΎΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π°. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ (ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ CPU) Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ x86 Ρ ΠΎΡΡΠΎΠ²Π΅ ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ.
- ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86 ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΡΡΠΈ Xen Π² ΡΡΠ΅Π΄Π°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° KVM Ρ ΠΈΠΏΠ΅ΡΠ²Π°ΠΉΠ·ΠΎΡ ΠΈ Linux 5.12+ ΡΠ΄ΡΠ°.
- ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° TCG ΠΊΠΎΠ΄ Π·Π° x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° FSRM, FZRM, FSRS ΠΈ FSRC CPUID ΡΠ»Π°Π³ΠΎΠ²Π΅. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈΡ ΠΌΠΎΠ΄Π΅Π» CPU Intel Sapphire Rapids (Intel 7).
- ARM Π΅ΠΌΡΠ»Π°ΡΠΎΡΡΡ Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Cortex-A55 ΠΈ Cortex-R52, Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΎΠ² ΡΠΈΠΏ Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈ Olimex STM32 H405 ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps) ΠΈ AArch32 ARMv8-R ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ. gdbstub Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π·Π° M-ΠΏΡΠΎΡΠΈΠ»Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (ΠΏΡΠΎΡΠΈΠ» Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°).
- ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ OpenTitan, PolarFire ΠΈ OpenSBI. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ (ISA) ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ: Smstateen, icount Π±ΡΠΎΡΡΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π²ΠΈΡΡΡΠ°Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΊΠ΅ΡΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° PMU, ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ACPI, Zawrs, Svadu, T-Head ΠΈ Zicond.
- ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ Π½Π° HPPA Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° fid (Floating-Point Identify) ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π² 32-Π±ΠΈΡΠΎΠ² ΡΠ΅ΠΆΠΈΠΌ.
- ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ 390x ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ KVM Π³ΠΎΡΡΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ΅Π½ΠΈ zPCI ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡΡ virtio-mem, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π³ΠΎΡΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΊΡΠΌ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΠΆΠΈΠ²ΠΎ.
- ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ² VFIO (ΠΠΈΡΡΡΠ°Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΡ I/O) (Π²ΡΠΎΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ).
- ΠΠ»ΠΎΠΊΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ qemu-nbd ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠΏΡΡΠΌΠΎ TCP ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TLS.
- ΠΠ³Π΅Π½ΡΡΡ Π·Π° Π³ΠΎΡΡΠΈ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° OpenBSD ΠΈ NetBSD.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru