kvm: Remove ept_identity_pagetable from struct kvm_arch.
authorTang Chen <tangchen@cn.fujitsu.com>
Tue, 16 Sep 2014 10:41:58 +0000 (18:41 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 17 Sep 2014 11:10:11 +0000 (13:10 +0200)
commita255d4795f83cf3e6a1c7d5ab998392d9413298c
tree79c39a27f4b9e3eb0707e6726d11b80397b6d996
parent80ce1639727e9d38729c34f162378508c307ca25
kvm: Remove ept_identity_pagetable from struct kvm_arch.

kvm_arch->ept_identity_pagetable holds the ept identity pagetable page. But
it is never used to refer to the page at all.

In vcpu initialization, it indicates two things:
1. indicates if ept page is allocated
2. indicates if a memory slot for identity page is initialized

Actually, kvm_arch->ept_identity_pagetable_done is enough to tell if the ept
identity pagetable is initialized. So we can remove ept_identity_pagetable.

NOTE: In the original code, ept identity pagetable page is pinned in memroy.
      As a result, it cannot be migrated/hot-removed. After this patch, since
      kvm_arch->ept_identity_pagetable is removed, ept identity pagetable page
      is no longer pinned in memory. And it can be migrated/hot-removed.

Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
Reviewed-by: Gleb Natapov <gleb@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c