Nested SVM

先頃KVM MLにAdd support for nested SVM (kernel)というパッチが流れていました。

そのメールの説明によると、

a KVM can run within a VM. Since we're emulating the real CPU's behavior, this should also enable other VMMs to run within KVM.

KVMVM内でKVMが動くよ!ということらしいです。

このパッチの投稿者であるAlexander Graf氏は、以前QEMU 0.9.1でマージされたSVM support(QEMUSVM命令セットをエミュレートする機能)の作者でもあります。

今回のパッチはそれをKVMに拡張したもののようです。

これでKVM on SVMデバッグが簡単になる?かどうかはわからないですが、夢のNested VMKVM in KVM in KVM in ...)が実現されそうですね(笑)

追記:

この機能の応用についてですが、KVM主任開発者であるAvi氏が自身のブログ(Avi Kivity's blog: Nested svm virtualization for kvm)で組み込みハイパーバイザ*1にもいいんじゃないかと言ってますね。

The other use is to have a hypervisor running in the firmware at all times; up until now this meant you couldn't run another hypervisor on such a machine. With nested virtualization, you can.

*1:組み込み機器向けのハイパーバイザ、ではなくコンピュータ(のファームウェア)にあらかじめ組み込まれたハイパーバイザのこと