Ukukhutshwa kweprojekthi ye-QEMU 6.2 sele kubonisiwe. Njengomlinganiso, i-QEMU ikuvumela ukuba uqhube inkqubo ehlanganiswe kwiqonga le-hardware enye kwinkqubo enolwakhiwo olwahluke ngokupheleleyo, umzekelo, sebenzisa isicelo se-ARM kwi-PC ehambelana ne-x86. Kwimowudi ye-virtualization kwi-QEMU, ukusebenza kokusetyenziswa kwekhowudi kwindawo eyodwa isondele kuleyo yenkqubo ye-hardware ngenxa yokwenziwa ngokuthe ngqo kwemiyalelo kwi-CPU kunye nokusetyenziswa kwe-Xen hypervisor okanye imodyuli ye-KVM.
Iprojekthi yaqala yadalwa nguFabrice Bellard ukunika amandla okuqhuba ukuphunyezwa kweLinux edityaniselwe iqonga le-x86 kuyilo lwe-non-x86. Kwiminyaka yophuhliso, inkxaso yokulinganisa ngokupheleleyo yongezwa kwi-architectures ye-hardware ye-14, inani lezixhobo ze-hardware ezifanisiweyo zadlula i-400. Ekulungiseleleni inguqulo ye-6.2, iinguqu ezingaphezu kwe-2300 zenziwe kubaphuhlisi be-189.
Uphuculo olungundoqo longezwe kwi-QEMU 6.2:
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ virtio-mem, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π³ΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π°ΠΌΠΏΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (pre-copy/post-copy) ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
- Π QMP (QEMU Machine Protocol) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ DEVICE_UNPLUG_GUEST_ERROR, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΠ΅Π² ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
- Π Π°ΡΡΠΈΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π°Ρ ΠΊ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator). Π ΠΏΠ»Π°Π³ΠΈΠ½ Β«cacheΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU Intel Snowridge-v4. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°Π½ΠΊΠ»Π°Π²Π°ΠΌ Intel SGX (Software Guard eXtensions) ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ /dev/sgx_vepc Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π±ΡΠΊΠ΅Π½Π΄ Β«memory-backend-epcΒ» Π² QEMU. ΠΠ»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π·Π°ΡΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD SEV (Secure Encrypted Virtualization), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΠ³ΠΎ (Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°) Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° (Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° βkernel-hashes=onβ Π² βsev-guestβ).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ARM Π½Π° Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΡΠΈΠΏΠΎΠΌ Apple Silicon ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Β«hvfΒ» ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AArch64. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Fujitsu A64FX. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«kudo-mbcΒ». ΠΠ»Ρ ΠΌΠ°ΡΠΈΠ½ βvirtβ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ ITS (Interrupt Translation Service) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 123 CPU Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΌΡΠ»ΡΡΠΈΠΈ. ΠΠ»Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«xlnx-zcu102Β» ΠΈ Β«xlnx-versal-virtΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² BBRAM ΠΈ eFUSE. ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠ° Cortex-M55 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ MVE.
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ CPU POWER10 DD2.0. ΠΠ»Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«powernvΒ» ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ POWER10, Π° Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½ βpseriesβ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ FORM2 PAPR NUMA.
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Zb[abcs]. ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ Β«host-userΒ» ΠΈ Β«numa memΒ». ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SiFive PWM (Pulse-width modulator).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 68k ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Apple ΡΠΈΠ½Ρ NuBus, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΠΠ£ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ»ΠΎΡΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ.
- Π Π±Π»ΠΎΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ qemu-nbd ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΡΠ½ ΡΠ΅ΠΆΠΈΠΌ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ (Β«writebackΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«writethroughΒ») Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ qemu-img. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βselinux-labelΒ» Π΄Π»Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ SELinux Unix-ΡΠΎΠΊΠ΅ΡΠ°ΠΌ.
umthombo: opennet.ru