αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜ QEMU 4.1

αžŽαŸ‚αž“αžΆαŸ† αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‚αž˜αŸ’αžšαŸ„αž„ QEMU 4.1. αž€αŸ’αž“αž»αž„αž“αžΆαž˜αž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜ QEMU αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αž…αž„αž€αŸ’αžšαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž˜αž½αž™αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž§αž‘αžΆαž αžšαžŽαŸ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ ARM αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžŠαŸ‚αž›αž†αž”αž‚αŸ’αž“αžΆ x86 αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž€αŸ’αž“αž»αž„ QEMU αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαžΆαž…αŸ‹αžŸαŸ’αžšαž™αžΆαž›αž‚αžΊαž“αŸ…αž‡αž·αžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαžΎαž˜αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸƒαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž›αžΎ CPU αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αŸ‰αžΌαžŒαž»αž› Xen hypervisor ឬ KVM αŸ”

αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ†αž”αžΌαž„αžŠαŸ„αž™ Fabrice Bellard αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž›αžΈαž“αž»αž…αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆ x86 αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ x86 αŸ” αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž…αŸ’αžšαžΎαž“αž†αŸ’αž“αžΆαŸ†αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž–αŸαž‰αž›αŸαž‰αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž…αŸ†αž“αž½αž“ 14 αž…αŸ†αž“αž½αž“αž§αž”αž€αžšαžŽαŸαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžŠαŸ‚αž›αž”αžΆαž“αžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž˜αžΆαž“αž›αžΎαžŸαž–αžΈ 400 αŸ” αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαŸ‚ 4.1 αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 2000 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž–αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž…αŸ†αž“αž½αž“ 276 αŸ”

αžŸαŸ„ αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ QEMU 4.1:

  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΌαžŠαŸ‚αž›αžŸαŸŠαžΈαž—αžΈαž™αžΌ Hygon Dhyana αž“αž·αž„ Intel SnowRidge αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ x86 αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ RDRAND (αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž„αŸ’αž€αžΎαžαž›αŸαžαž…αŸƒαžŠαž“αŸ’αž™αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„) αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αž„αŸ‹αž‡αžΆαžαž·
    md-clear αž“αž·αž„ mds-no αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαž€αžΆαžšαžœαžΆαž™αž”αŸ’αžšαž αžΆαžš MDS (Microarchitectural Data Sampling) αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Intel αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ topologies αžŸαŸ€αž‚αŸ’αžœαžΈαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαž‘αž„αŸ‹ "-smp ...,dies=" αŸ” αž€αŸ†αžŽαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΌαžŠαŸ‚αž›αžŸαŸŠαžΈαž—αžΈαž™αžΌ x86 αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž”αŸ’αž›αž»αž€ SSH αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ libssh2 αž“αŸ…αž›αžΎ libsh;
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆ virtio-gpu ( GPU αž“αž·αž˜αŸ’αž˜αž·αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ Virgil) αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰ 2D/3D αž‘αŸ…αž€αžΆαž“αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš vhost-user αžαžΆαž„αž€αŸ’αžšαŸ… (αž§αž‘αžΆαž αžšαžŽαŸ vhost-user-gpu);
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ ARM αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ ARMv8.5-RNG αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž›αŸαžαž…αŸƒαžŠαž“αŸ’αž™αŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜ FPU αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž“αŸ’αž‘αŸ‡αžˆαžΈαž”αž‚αŸ’αžšαž½αžŸαžΆαžš Cortex-M αž αžΎαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜ FPU αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Cortex-R5F αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αž‡αž˜αŸ’αžšαžΎαžŸαžŸαžΆαž„αžŸαž„αŸ‹ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ Kconfig αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ SoC Exynos4210 αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆ PL330 DMA αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ MIPS αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† MSA ASE αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž›αŸ†αžŠαžΆαž”αŸ‹αž”αŸƒαžαž»αž„αž’αŸ† αž“αž·αž„αžαž˜αŸ’αžšαžΉαž˜αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™αž€αžšαžŽαžΈαžŸαžΌαž“αŸ’αž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž™αŸ„αž„αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† MSA αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžŽαž“αžΆαž…αŸ†αž“αž½αž“αž‚αžαŸ‹ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ PowerPC αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž‘αŸ… NVIDIA V100/NVLink2 GPUs αžŠαŸ„αž™αž”αŸ’αžšαžΎ VFIO αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ pseries αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆαžšαŸ†αžαžΆαž“ XIVE αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž αžΎαž™αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ„αžαž€αŸ’αžαŸ…αž“αŸƒαžŸαŸ’αž–αžΆαž“ PCI αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ” αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžœαŸ‰αž·αž…αž‘αŸαžš (Altivec/VSX);
  • αž‚αŸ†αžšαžΌαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αžαŸ’αž˜αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ RISC-V - "spike" αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ISA 1.11.0 αŸ” αž€αžΆαžšαž αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’ 32 αž”αŸŠαžΈαž ABI αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αž αžΎαž™αž§αž”αž€αžšαžŽαŸαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αŸ” αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ topology CPU αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‚αž€αž’αžΆαž„αž§αž”αž€αžšαžŽαŸαŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ s390 αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžœαŸ‰αž·αž…αž‘αŸαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž€αŸ’αžšαž»αž˜ "Vector Facility" αž“αž·αž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αžΆαžαž»αž”αž“αŸ’αžαŸ‚αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’ gen15 (αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ AP Queue Interruption Facility αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ vfio-ap)αŸ” αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš BIOS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž–αžΈ ECKD DASD αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž—αŸ’αž‰αŸ€αžœαžαžΆαž˜αžšαž™αŸˆ vfio-ccw;
  • αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ SPARC αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ sun4m αž”αž‰αŸ’αž αžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αž„αŸ‹ β€œ-vga none” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenBIOS αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αŸ’αžšαž½αžŸαžΆαžš Tensilica Xtensa αžšαž½αž˜αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ MPU (αž’αž„αŸ’αž‚αž—αžΆαž–αž€αžΆαžšαž–αžΆαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†) αž“αž·αž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž•αŸ’αžαžΆαž…αŸ‹αž˜αž»αžαŸ”
  • αž‡αž˜αŸ’αžšαžΎαžŸ "-salvage" αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ "qemu-img convert" αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αžΆαŸ†αž„αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžšαžΌαž”αž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αŸ†αž αž»αžŸ I/O (αž§αž‘αžΆαž αžšαžŽαŸ αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžŠαžΆαžšαž―αž€αžŸαžΆαžš qcow2 αžŠαŸ‚αž›αžαžΌαž…αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€)αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž˜αž½αž™αŸ”
    β€œqemu-img rebase” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž˜αž·αž“αž‘αžΆαž“αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž”αž‰αŸ’αž…αžΌαž›αŸ”

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αžαž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ "semihosting" (αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž§αž”αž€αžšαžŽαŸαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜αž”αŸ’αžšαžΎ stdout, stderr αž“αž·αž„ stdin αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“) αž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžšαž”αžŸαŸ‹ chardev ("-semihosting-config enable=on,target=native ,chardev=[ID]");
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž˜αŸ’αžšαž„αŸ‹αžšαž„ seSparse αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž”αžΆαž“αžαŸ‚αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž”αŸ’αž›αž»αž€ VMDK αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆ SiFive GPIO αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαžαŸ’αžšαžΆαž”αŸ‹αžαžΆαž˜ GPIO αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹