Linux kernel v3.9 ARM에서 KVM 지원
Overview
- 2013년 4월 29일 Linux kernel 3.9 버전이 릴리즈 됨 - change log 참고
- ARM 프로세서에서 KVM 가상화 지원 기능이 추가 됨
- 이 글에서는 KVM과 관련된 CPU 가상화 지원에 대한 정보들을 간추려 보고자 한다
KVM 이란
- KVM (Kernel-based Virtual Machine)은 VMware와 같은 가상화를 Linux 커널 모듈에서 제공
- Intel VT나 AMD-V와 같은 가상화 H/W 지원하는 x86 CPU에서만 동작했으나
- 3.9 커널 부터는 ARM CPU에서도 동작 가능
- 그렇다면 ARM CPU도 Intel VT와 같은 가상화 지원을 제공한다는 의미?
Intel VT란
- Intel VT (Virtualization Technology)는 가상화를 지원하기 위한 VMX (Virtual Machine Extensions)라는 명령어를 제공한다.
- VMXON - enter VMX operation
- VMXOFF - leave VMX operation
- VMREAD - read field from Virtual Machine control structure
- VMWRITE - write field to Virtual Machine control structure
- VMPTRLD - load pointer from Virtual Machine control structure
- VMPTRST - store pointer to Virtual Machine control structure
- VMLAUNCH - Launch Virtual Machine
- VMRESUME - Resume Virtual Machine
- VMCALL - Call to VM Monitor
- 이 명령어를 이용하여 VMM (Virtual Machine Monitor) S/W는 더 빠른 성능의 가상화 솔루션을 구현할 수 있다.
- Intel CPU는 가상화 지원을 위해 EPT (Extended Page Table)도 제공한다. Extending KVM with new Intel Virtualization technology 자료 참고.
- 단, 모든 Intel CPU가 VT 및 EPT를 지원하는 것은 아니다. 지원 모델에 대해서는 다음 인텔 페이지를 참고.
ARM processor에서 virtualization 지원
KVM이 ARM 프로세서를 지원하기 위해서는 Intel VT와 비슷한 H/W 기능이 있어야 할 듯. 이에 대해 살펴보자.
- ARM에서 KVM 지원에 대한 kernel 소스 commit을 보면 현재 지원하는 CPU는 Coretex-A15 뿐이다.
- ARM Coretex-A15 CPU는 Virtualization Extension과 LPAE (Large Page Addressing Extension)을 지원한다.
- 자세한 내용은 ARM 프리젠테이션 문서를 참고.
댓글
댓글 쓰기