QEMU 4.1 рдПрдореБрд▓реЗрдЯрд░рдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рд╕рд╛рджрд░ рдХрд░рдгрд╛рд░рд╛ рдкреНрд░рдХрд▓реНрдк рдкреНрд░рдХрд╛рд╢рди рдХреНрдпреВрдИрдПрдордпреВ 4.1. рдПрдореБрд▓реЗрдЯрд░ рдореНрд╣рдгреВрди, QEMU рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, x86-рд╕реБрд╕рдВрдЧрдд PC рд╡рд░ ARM рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рд╛. QEMU рдордзреАрд▓ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдореЛрдбрдордзреНрдпреЗ, CPU рд╡рд░реАрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреА рдереЗрдЯ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ Xen рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рдХрд┐рдВрд╡рд╛ KVM рдореЙрдбреНрдпреВрд▓рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдХреЛрдб рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореВрд│ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЬрд╡рд│ рдЕрд╕рддреЗ.

рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рдореВрд│рдд: рдлреЕрдмреНрд░рд┐рд╕ рдмреЗрд▓рд╛рд░реНрдбрдиреЗ x86 рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓рд▓рд╛ x86 рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╡рд░ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓рд╛ рд╣реЛрддрд╛. рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рд╡рд░реНрд╖рд╛рдВрдордзреНрдпреЗ, 14 рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рдкреВрд░реНрдг рдЗрдореНрдпреБрд▓реЗрд╢рди рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдПрдореНрдпреБрд▓реЗрдЯреЗрдб рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЙрдкрдХрд░рдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 400 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЭрд╛рд▓реА рдЖрд╣реЗ. рдЖрд╡реГрддреНрддреА 4.1 рдЪреНрдпрд╛ рддрдпрд╛рд░реАрдордзреНрдпреЗ, 2000 рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдХрдбреВрди 276 рд╣реВрди рдЕрдзрд┐рдХ рдмрджрд▓ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.

рдХрд│ рд╕реБрдзрд╛рд░рдгрд╛QEMU 4.1 рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ:

  • Hygon Dhyana рдЖрдгрд┐ Intel SnowRidge CPU рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. RDRAND рд╡рд┐рд╕реНрддрд╛рд░ (рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╕реНрдпреВрдбреЛ-рд░рдБрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░) рдЪреЗ рдЕрдиреБрдХрд░рдг рдЬреЛрдбрд▓реЗ. рдЭреЗрдВрдбреЗ рдЬреЛрдбрд▓реЗ
    рд╣рд▓реНрд▓рд╛ рд╕рдВрд░рдХреНрд╖рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА md-рд╕реНрдкрд╖реНрдЯ рдЖрдгрд┐ mds-no рдПрдордбреАрдПрд╕ (рдорд╛рдпрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдбреЗрдЯрд╛ рд╕реЕрдореНрдкрд▓рд┐рдВрдЧ) рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░. тАЬ-smp ...,dies=тАЭ рдзреНрд╡рдЬ рд╡рд╛рдкрд░реВрди рдПрдХрд╛рддреНрдорд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдЯреЛрдкреЛрд▓реЙрдЬреАрдЬ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА. рд╕рд░реНрд╡ x86 CPU рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рдЖрд╡реГрддреНрддреА рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ;

  • SSH рдмреНрд▓реЙрдХ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд╣рд▓рд╡рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ libssh2 рд╡рд░ libsh;
  • virtio-gpu рдбреНрд░рд╛рдЗрд╡реНрд╣рд░ (рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдЖрднрд╛рд╕реА GPU Virgil) 2D/3D рд░реЗрдВрдбрд░рд┐рдВрдЧ рдСрдкрд░реЗрд╢рдиреНрд╕ рдмрд╛рд╣реНрдп vhost-user рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рд╣рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, vhost-user-gpu);
  • ARM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдиреЗ рд╕реНрдпреВрдбреЛ-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА ARMv8.5-RNG рд╡рд┐рд╕реНрддрд╛рд░рд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ. Cortex-M рдлреЕрдорд┐рд▓реА рдЪреАрдкрд╕рд╛рдареА FPU рдЗрдореНрдпреБрд▓реЗрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ Cortex-R5F рд╕рд╛рдареА FPU рдЗрдореНрдпреБрд▓реЗрд╢рдирдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ. Kconfig рд╢реИрд▓реАрдордзреНрдпреЗ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдмрд┐рд▓реНрдб рдкрд░реНрдпрд╛рдп рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ. SoC Exynos4210 рд╕рд╛рдареА, PL330 DMA рдирд┐рдпрдВрддреНрд░рдХрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • MIPS рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдиреЗ рдмрд┐рдЧ-рдПрдВрдбрд┐рдпрди рдмрд╛рдЗрдЯ рдСрд░реНрдбрд░ рд╡рд╛рдкрд░рддрд╛рдирд╛ MSA ASE рдирд┐рд░реНрджреЗрд╢рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рд╕реБрдзрд╛рд░рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рдВрджрд░реНрдн рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╕рд╣ рд╢реВрдиреНрдп рдХреЗрд╕рд╛рдВрджреНрд╡рд╛рд░реЗ рд╡рд┐рднрд╛рдЬрди рд╣рд╛рддрд╛рд│рдгреА рд╕рдВрд░реЗрдЦрд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ. рдкреВрд░реНрдгрд╛рдВрдХ рдЧрдгрдирд╛ рдЖрдгрд┐ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рдПрдордПрд╕рдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврд╡рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • рдкреЙрд╡рд░рдкреАрд╕реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░ рдЖрддрд╛ VFIO рд╡рд╛рдкрд░реВрди NVIDIA V100/NVLink2 GPU рд▓рд╛ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ. pseries рд╕рд╛рдареА, XIVE рдЗрдВрдЯрд░рдкреНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдореНрдпреБрд▓реЗрд╢рдирдЪреЗ рдкреНрд░рд╡реЗрдЧ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ PCI рдмреНрд░рд┐рдЬрдЪреНрдпрд╛ рд╣реЙрдЯ рдкреНрд▓рдЧрд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рд╡реЗрдХреНрдЯрд░ рд╕реВрдЪрдирд╛рдВрдЪреЗ (Altivec/VSX) рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • RISC-V рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░ - тАЬрд╕реНрдкрд╛рдЗрдХтАЭ рдордзреНрдпреЗ рдирд╡реАрди рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдореЙрдбреЗрд▓ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. ISA 1.11.0 рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. 32-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ ABI рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЕрд╡реИрдз рд╕реВрдЪрдирд╛ рд╣рд╛рддрд╛рд│рдгреА рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдВрдЧрднреВрдд рдбреАрдмрдЧрд░ рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЯреНрд░реАрдордзреНрдпреЗ CPU рдЯреЛрдкреЛрд▓реЙрдЬреАрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • s390 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдиреЗ тАЬрд╡реНрд╣реЗрдХреНрдЯрд░ рдлреЕрд╕рд┐рд▓рд┐рдЯреАтАЭ рдЧреНрд░реБрдкрдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡реЗрдХреНрдЯрд░ рд╕реВрдЪрдирд╛рдВрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ gen15 рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХ рдЬреЛрдбрд▓реЗ рдЖрд╣реЗрдд (vfio-ap рд╕рд╛рдареА AP рд░рд╛рдВрдЧ рд╡реНрдпрддреНрдпрдп рд╕реБрд╡рд┐рдзреЗрд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдердирд╛рд╕рд╣). Vfio-ccw рджреНрд╡рд╛рд░реЗ рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реАрд╢реА рдмрд╛рдВрдзреАрд▓ ECKD DASD рдкрд╛рд╕реВрди рдмреВрдЯрд┐рдВрдЧрд╕рд╛рдареА BIOS рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ;
  • sun4m рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА SPARC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдордзреНрдпреЗ, OpenBIOS рд╕рд╛рдареА тАЬ-vga noneтАЭ рдзреНрд╡рдЬ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • Tensilica Xtensa рдлреЕрдорд┐рд▓реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрдореНрдпреБрд▓реЗрдЯрд░рдордзреНрдпреЗ MPU (рдореЗрдорд░реА рд╕рдВрд░рдХреНрд╖рдг рдпреБрдирд┐рдЯ) рдЖрдгрд┐ рдЕрдирдиреНрдп рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдп рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд;
  • I/O рддреНрд░реБрдЯреА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдВрд╢рддрдГ рдЦрд░рд╛рдм рдЭрд╛рд▓реЗрд▓реНрдпрд╛ qcow2 рдлрд╛рдЗрд▓реНрд╕ рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд). рдПрдХрд╛ рд╕рдВрдШрд╛рдд
    "qemu-img rebase" рдЬреЗрд╡реНрд╣рд╛ рдЗрдирдкреБрдЯ рдлрд╛рдЗрд▓рд╕рд╛рдареА рдмреЕрдХрд┐рдВрдЧ рдлрд╛рдЗрд▓ рдЕрджреНрдпрд╛рдк рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдирд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ;

  • рдЪрд╛рд░рдбреЗрд╡реНрд╣ рдмреЕрдХрдПрдВрдб ("-semihosting-config enable=on,target=native) рд╡рд░ "рд╕реЗрдореАрд╣реЛрд╕реНрдЯрд┐рдВрдЧ" рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗрд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА (рдЗрдореНрдпреБрд▓реЗрдЯреЗрдб рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд▓рд╛ stdout, stderr рдЖрдгрд┐ stdin рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЛрд╕реНрдЯ рд╕рд╛рдЗрдбрд╡рд░ рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ) ,рдЪрд╛рд░рджреЗрд╡=[ рдЖрдпрдбреА]");
  • VMDK рдмреНрд▓реЙрдХ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЖрддрд╛ seSparse рд╕рдмрдлреЙрд░реНрдореЗрдЯрд▓рд╛ рдХреЗрд╡рд│-рд╡рд╛рдЪрдиреАрдп рдореЛрдбрдордзреНрдпреЗ рд╕рдорд░реНрдерди рджреЗрддреЛ;
  • GPIO рдЗрдореНрдпреБрд▓реЗрд╢рди рдбреНрд░рд╛рдЗрд╡реНрд╣рд░рдордзреНрдпреЗ SiFive GPIO рдХрдВрдЯреНрд░реЛрд▓рд░рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛