QEMU 6.1 ํ๋ก์ ํธ์ ๋ฆด๋ฆฌ์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์๋ฎฌ๋ ์ดํฐ๋ก์ QEMU๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ํ ๋ค๋ฅธ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ง ์์คํ ์์ ํ๋์ ํ๋์จ์ด ํ๋ซํผ์ฉ์ผ๋ก ๊ตฌ์ถ๋ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด x86 ํธํ PC์์ ARM ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค. QEMU์ ๊ฐ์ํ ๋ชจ๋์์ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์์ ์ฝ๋ ์คํ ์ฑ๋ฅ์ CPU์์ ์ง์ ๋ช ๋ น์ ์คํํ๊ณ Xen ํ์ดํผ๋ฐ์ด์ ๋๋ KVM ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋์จ์ด ์์คํ ์ ๊ฐ๊น์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ ์๋ Fabrice Bellard๊ฐ x86์ด ์๋ ์ํคํ ์ฒ์์ x86 ํ๋ซํผ์ฉ์ผ๋ก ์ปดํ์ผ๋ Linux ์คํ ํ์ผ์ ์คํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค. ์๋ ๊ฐ์ ๊ฐ๋ฐ ๊ธฐ๊ฐ ๋์ 14๊ฐ์ ํ๋์จ์ด ์ํคํ ์ฒ์ ๋ํ ์ ์ฒด ์๋ฎฌ๋ ์ด์ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ์๋ฎฌ๋ ์ดํธ๋ ํ๋์จ์ด ์ฅ์น์ ์๊ฐ 400๊ฐ๋ฅผ ์ด๊ณผํ์ต๋๋ค. ๋ฒ์ 6.1์ ์ค๋นํ๋ ๋์ 3000๋ช ์ ๊ฐ๋ฐ์๊ฐ 221๊ฐ ์ด์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ต๋๋ค.
QEMU 6.1์ ์ถ๊ฐ๋ ์ฃผ์ ๊ฐ์ ์ฌํญ:
- ์ด๋ฏธ ์์ฑ๋ ๋ธ๋ก ์ฅ์น์ ์ค์ ์ ๋ณ๊ฒฝํ ์ ์๋ "blockdev-reopen" ๋ช ๋ น์ด QMP(QEMU Machine Protocol)์ ์ถ๊ฐ๋์์ต๋๋ค.
- Gnutls๋ ์ฑ๋ฅ ์ธก๋ฉด์์ ๋ค๋ฅธ ๋๋ผ์ด๋ฒ๋ณด๋ค ์์ ์๋ ์ฐ์ ์์ ์ํธํ ๋๋ผ์ด๋ฒ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด์ ์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต๋๋ libgcrypt ๊ธฐ๋ฐ ๋๋ผ์ด๋ฒ๋ ์ต์ ์์๋ก ์ด๋๋์์ผ๋ฉฐ, Nettle ๊ธฐ๋ฐ ๋๋ผ์ด๋ฒ๋ GnuTLS ๋ฐ Libgcrypt๊ฐ ์์ ๋ ์ฌ์ฉ๋๋ ํด๋ฐฑ ์ต์ ์ผ๋ก ๋จ์ ์์ต๋๋ค.
- I2C ์๋ฎฌ๋ ์ดํฐ์ PMBus ๋ฐ I2C ๋ฉํฐํ๋ ์(pca9546, pca9548)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋์ TCG(Tiny Code Generator) ์ฝ๋ ์์ฑ๊ธฐ์ ๋ํ ํ๋ฌ๊ทธ์ธ ์ง์์ด ํ์ฑํ๋์ด ์์ต๋๋ค. ์๋ก์ด ํ๋ฌ๊ทธ์ธ execlog(์คํ ๋ก๊ทธ) ๋ฐ ์บ์ ๋ชจ๋ธ๋ง(CPU์ L1 ์บ์ ๋์ ์๋ฎฌ๋ ์ด์ )์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ARM ์๋ฎฌ๋ ์ดํฐ์๋ Aspeed(rainier-bmc, ์ฝดํ-q7l1), npcm7xx(์ฝดํ-gbs-bmc) ๋ฐ Cortex-M3(stm32vldiscovery) ์นฉ ๊ธฐ๋ฐ ๋ณด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Aspeed ์นฉ์ ์ ๊ณต๋๋ ํ๋์จ์ด ์ํธํ ๋ฐ ํด์ฑ ์์ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. SVE2 ๋ช ๋ น์ด(bfloat16 ํฌํจ), ํ๋ ฌ ๊ณฑ์ ์ฐ์ฐ์ ๋ฐ TLB(๋ณํ ์ฐ๊ด ๋ฒํผ) ํ๋ฌ์ ๋ช ๋ น์ด ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ฎฌ๋ ์ดํธ๋ pseries ์์คํ ์ฉ PowerPC ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ์๋ ์๋ก์ด ๊ฒ์คํธ ํ๊ฒฝ์์ ์ฅ์น๋ฅผ ํซ ํ๋ฌ๊ทธํ ๋ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๋ ์ง์์ด ์ถ๊ฐ๋์๊ณ , CPU ์์ ๋ํ ์ ํ์ด ๋์ด๋ฌ์ผ๋ฉฐ, POWER10 ํ๋ก์ธ์์ ๊ด๋ จ๋ ์ผ๋ถ ๋ช ๋ น์ ์๋ฎฌ๋ ์ด์ ์ด ๊ตฌํ๋์์ต๋๋ค. . Genesi/bPlan Pegasos II(pegasos2) ์นฉ ๊ธฐ๋ฐ ๋ณด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- RISC-V ์๋ฎฌ๋ ์ดํฐ๋ OpenTitan ํ๋ซํผ๊ณผ virtio-vga ๊ฐ์ GPU(virgl ๊ธฐ๋ฐ)๋ฅผ ์ง์ํฉ๋๋ค.
- s390 ์๋ฎฌ๋ ์ดํฐ์๋ 16์ธ๋ CPU ๋ฐ ๋ฒกํฐ ํ์ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ก์ด Intel CPU ๋ชจ๋ธ์ ๋ํ ์ง์์ด x86 ์๋ฎฌ๋ ์ดํฐ์ ์ถ๊ฐ๋์์ต๋๋ค(Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton- v3, Snowridge-v3, Dhyana-v2), XSAVES ๋ช ๋ น์ ๊ตฌํํฉ๋๋ค. Q35(ICH9) ์นฉ์ ์๋ฎฌ๋ ์ดํฐ๋ PCI ์ฅ์น์ ํซ ํ๋ฌ๊น ์ ์ง์ํฉ๋๋ค. AMD ํ๋ก์ธ์์์ ์ ๊ณต๋๋ ๊ฐ์ํ ํ์ฅ์ ์๋ฎฌ๋ ์ด์ ์ด ํฅ์๋์์ต๋๋ค. ๊ฒ์คํธ ์์คํ ์ ์ํ ๋ฒ์ค ์ฐจ๋จ ๊ฐ๋๋ฅผ ์ ํํ๊ธฐ ์ํด ๋ฒ์ค ์ ๊ธ ์๋ ์ ํ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- NetBSD ํ๋ก์ ํธ์์ ๊ฐ๋ฐํ NVMM ํ์ดํผ๋ฐ์ด์ ์ฉ ๊ฐ์๊ธฐ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- GUI์์ VNC ํ๋กํ ์ฝ์ ์ฌ์ฉํ ๋ ๋น๋ฐ๋ฒํธ ์ธ์ฆ ์ง์์ ์ด์ ์ธ๋ถ ์ํธํ ๋ฐฑ์๋(gnutls, libgcrypt ๋๋ nettle)๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถํ ๋๋ง ํ์ฑํ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru