QEMU 10.0.0์ด ์ถ์๋์์ต๋๋ค. QEMU๋ ์๋ฎฌ๋ ์ดํฐ๋ก์, ํ ํ๋์จ์ด ํ๋ซํผ์ฉ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ์์ ํ ๋ค๋ฅธ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ง ์์คํ ์์ ์คํํ ์ ์๋๋ก ํด์ค๋๋ค. ์๋ฅผ ๋ค์ด, ARM ์ ํ๋ฆฌ์ผ์ด์ ์ x86 ํธํ PC์์ ์คํํ ์ ์์ต๋๋ค. QEMU ๊ฐ์ํ ๋ชจ๋์์๋ CPU์์ ์ง์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ Xen ํ์ดํผ๋ฐ์ด์ ๋๋ KVM ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์์ ์ฝ๋ ์คํ ์ฑ๋ฅ์ด ํ๋์จ์ด ์์คํ ๊ณผ ๊ฑฐ์ ์ ์ฌํฉ๋๋ค. Linux๋๋ NetBSD์ NVMM ๋ชจ๋.
์ด ํ๋ก์ ํธ๋ ์๋ Fabrice Bellard๊ฐ x86 ํ๋ซํผ์ฉ์ผ๋ก ์ปดํ์ผ๋ ์คํ ํ์ผ์ ์คํํ ์ ์๋๋ก ํ๊ธฐ ์ํด ๋ง๋ค์์ต๋๋ค. Linux x86 ์ด์ธ์ ์ํคํ ์ฒ์์๋ ์๋ํฉ๋๋ค. ์๋ ๊ฐ์ ๊ฐ๋ฐ์ ํตํด 14๊ฐ์ ํ๋์จ์ด ์ํคํ ์ฒ์ ๋ํ ์๋ฒฝํ ์๋ฎฌ๋ ์ด์ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, ์๋ฎฌ๋ ์ด์ ๊ฐ๋ฅํ ํ๋์จ์ด ์ฅ์น ์๋ 400๊ฐ๋ฅผ ๋์ด์ฐ์ต๋๋ค. ๋ฒ์ 10.0๋ฅผ ์ค๋นํ๋ ๊ณผ์ ์์ 211๋ช ์ ๊ฐ๋ฐ์๊ฐ 2800๊ฑด ์ด์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ต๋๋ค.
QEMU 10.0์ ์ถ๊ฐ๋ ์ฃผ์ ๊ฐ์ ์ฌํญ:
- virtio-scsi ๋๋ผ์ด๋ฒ๋ ๊ฐ์ SCSI ์ปจํธ๋กค๋ฌ(SCSI ํธ์คํธ ๋ฒ์ค ์ด๋ํฐ)๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ์ ๊ธฐ๊ธฐ๋ค์ค ๋ ๋ฒจ ํ ์์คํ (๋ฉํฐํ) ์ง์์ด ์ถ๊ฐ๋์ด ์๋ก ๋ค๋ฅธ ๋ธ๋ก ์ฅ์น์ ๋ํ ํ๋ฅผ ๋ถ๋ฆฌํ ์ ์์ผ๋ฏ๋ก ๋ฉํฐ์ฝ์ด ์์คํ ์์ ๋ฉํฐ์ค๋ ๋ ์ก์ธ์ค๋ฅผ ์ง์ํฉ๋๋ค(๋จ์ผ ๋๋ผ์ด๋ธ์ ๋ํ ์ฌ๋ฌ ํ๋ฅผ ์๋ก ๋ค๋ฅธ I/O ์ค๋ ๋์์ ์ฒ๋ฆฌํ ์ ์์). ๊ฐ์ ๋ธ๋ก ์ฅ์น ๋๋ผ์ด๋ฒ(virtio-blk)์ ๋น๊ตํ์ ๋ ๊ฐ์ SCSI ์ปจํธ๋กค๋ฌ๋ ์ฑ๋ฅ์ด ์ฝ๊ฐ ๋จ์ด์ง์ง๋ง 28๊ฐ ์ด์์ ๋๋ผ์ด๋ธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- VFIO(๊ฐ์ ํจ์ I/O)๋ 11์ธ๋(Rocket Lake) ๋ฐ 12์ธ๋(Alder Lake) Intel ํ๋ก์ธ์์ ์ฌ์ฉ๋๋ ํตํฉ GPU์ ๋ํ IGD(ํตํฉ ๊ทธ๋ํฝ ์ฅ์น) ํจ์ค์ค๋ฃจ ์ง์์ ๊ฐ์ ํ์ต๋๋ค. ์ด์ ATI GPU(x550)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. PCI PM(์ ์ ๊ด๋ฆฌ)์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด QEMU๋ฅผ ์ ์ดํ ์ ์๋๋ก ํ๋ QEMU ๋จธ์ ํ๋กํ ์ฝ(QMP)์ ๋ํ ์ค๋ช ์๊ฐ ์๋นํ ๊ฐ์ ๋๊ณ ํ์ฅ๋์์ต๋๋ค.
- ์๋ก์ด ๋ผ์ด๋ธ ๋ง์ด๊ทธ๋ ์ด์ ๋ชจ๋ "cpr-transfer"(CheckPoint ๋ฐ Restart)๊ฐ ์ถ๊ฐ๋์ด, ๋์ผํ ํธ์คํธ์์ ์คํ๋๋ ์๋ก์ด QEMU ์ธ์คํด์ค๋ก ๊ฒ์คํธ ์์คํ ์ ์ด๋ํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋๋ ๋ด์ฉ์ ๋ณต์ฌํ์ง ์๊ณ ๊ฒ์คํธ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ก์ด QEMU์ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋งคํํ์ฌ ์ค๋จ ์๊ฐ์ ์ต์ํํฉ๋๋ค.
- ParavirtualizedGraphics ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ 'apple-gfx-pci' ๋ฐ 'apple-gfx-mmio' ๊ทธ๋ํฝ ์ฅ์น๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. macOS ๊ฒ์คํธ ์์คํ ์์ ํ๋์จ์ด ๊ฐ์ ๊ทธ๋ํฝ์ ์ฌ์ฉํ๊ธฐ ์ํ ๋๋ผ์ด๋ฒ์ ๋๋ค. ์ฒซ ๋ฒ์งธ ๋๋ผ์ด๋ฒ๋ x86-64 ์ฅ์น์์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์๊ณ , ๋ ๋ฒ์งธ ๋๋ผ์ด๋ฒ๋ ARM64์ฉ์ ๋๋ค.
- x86 ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๋ ์ด์ Intel Xeon Clearwater Forest์ Sierra Forest v2 ํ๋ก์ธ์ ๋ชจ๋ธ์ ์ง์ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐ์ดํฐ ์กฐ์ ๋ช ๋ น์ ์๋ฎฌ๋ ์ด์ ์ด ๊ฐ์ํ๋์์ต๋๋ค.
- ARM ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๋ ์ด์ NPCM8445 ํ๊ฐํ ๋ฐ i.MX 8M Plus EVK ๋ณด๋๋ฅผ ์ง์ํฉ๋๋ค. FEAT_AFP, FEAT_RPRES ๋ฐ FEAT_XS ํ์ฅ๊ณผ EL2 ๋ฌผ๋ฆฌ์ ๋ฐ ๊ฐ์ ํ์ด๋จธ์ ์๋ฎฌ๋ ์ด์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. Arm PXA2xx CPU ๋ฐ iwMMXt ๋ช ๋ น์ด ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค.
- RISC-V ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๋ Microblaze V ๋ณด๋, Ascalon CPU ๋ฐ RV64 Xiangshan Nanhu CPU์ ์๋ฎฌ๋ ์ด์ ์ ๊ตฌํํฉ๋๋ค. 'svukte', 'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm', 'sspm' ๋ช ๋ น ์ธํธ ์ํคํ ์ฒ ํ์ฅ, IOMMU ๋ณํ ํ๊ทธ ๋ฐ riscv-iommu-sys ์ฅ์น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- HPPA ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๋ Diva GSP BMC ๋ณด๋์ ์๋ฎฌ๋ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. SeaBIOS-hppa ํ์จ์ด๊ฐ ๋ฒ์ 18๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ๋ฐฉ์ก ์๋๊ฐ ํฅ์๋์์ต๋๋ค. ๊ฐ์ CPU ์ฌ์ค์ ์ ์ํ ๊ฐ์ ๋ ์ฝ๋์ ๋๋ค. 64๋นํธ ์์คํ ์์๋ ์ต๋ 256GB์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๊ฐ์ถ ๊ตฌ์ฑ์ ์๋ฎฌ๋ ์ด์ ์ด ์ ๊ณต๋ฉ๋๋ค.
- LoongArch ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์ด์ CPU ํซํ๋ฌ๊น ์ ์ง์ํฉ๋๋ค. ๋ฐ๊ฐ์ํ๋ IPI(ํ๋ก์ธ์ ๊ฐ ์ธํฐ๋ฝํธ)๊ฐ ๊ตฌํ๋์์ต๋๋ค. ํ์ดํผ๋ฐ์ด์ ๋ฆฌ์์ค ํ ๋น ์๊ฐ ์ด๊ณผ ์ถ์ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. KVM์ธ๋ถ ์ธํฐ๋ฝํธ(extioi)์ ๊ฐ์ ๋ผ์ฐํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- s390x ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ๋ 17์ธ๋ ๋ฉ์ธํ๋ ์ CPU์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ virtio-mem ์ง์์ ๊ตฌํํฉ๋๋ค. ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด IOMMU๋ฅผ ์ฐํํ์ฌ PCI ์ฅ์น์ ์ํธ ์์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
