x86

KVMの準仮想化機能

KVMにはいくつか準仮想化インタフェースが存在します. KVMはHWによる仮想化支援機構を利用してゲストを実行するので,準仮想化機能を使用しなくても任意のOSが実行できますが,準仮想化機能を利用することでVMのパフォーマンスを向上できる場合があります.…

KVMにおけるcpuid命令の取り扱い

前提 x86/Intelの話です.AMDでも多分同様. cpuid命令の取り扱い cpuid命令はKVM内で処理されます. 具体的には arch/x86/kvm/vmx.c:handle_cpuid() => arch/x86/kvm/cpuid.c:kvm_emulate_cpuid() => arch/x86/kvm/cpuid.c:kvm_cpuid() => arch/x86/kvm/cpu…

x86におけるメモリアクセス権のルール

x86

定期的に忘れる気がするのでメモ.SDM Volume 3A 4.1.3, 4.6参照. 用語 supervisor mode access CPL < 3 でのアクセス user mode access CPL == 3 でのアクセス supervisor mode address page entryのU/S bitが一つでも0である領域*1 user mode addres super…