Commit 1d737c8a authored by Zhang Xiantao's avatar Zhang Xiantao Committed by Avi Kivity
Browse files

KVM: Portability: Split mmu-related static inline functions to mmu.h



Since these functions need to know the details of kvm or kvm_vcpu structure,
it can't be put in x86.h.  Create mmu.h to hold them.

Signed-off-by: default avatarZhang Xiantao <xiantao.zhang@intel.com>
Acked-by: default avatarCarsten Otte <cotte@de.ibm.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent ad312c7c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -396,6 +396,7 @@ void kvm_arch_hardware_disable(void *garbage);
int kvm_arch_hardware_setup(void);
void kvm_arch_hardware_unsetup(void);
void kvm_arch_check_processor_compat(void *rtn);
int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu);

void kvm_free_physmem(struct kvm *kvm);

+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include "vmx.h"
#include "kvm.h"
#include "x86.h"
#include "mmu.h"

#include <linux/types.h>
#include <linux/string.h>

drivers/kvm/mmu.h

0 → 100644
+44 −0
Original line number Diff line number Diff line
#ifndef __KVM_X86_MMU_H
#define __KVM_X86_MMU_H

#include "kvm.h"

static inline void kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu)
{
	if (unlikely(vcpu->kvm->n_free_mmu_pages < KVM_MIN_FREE_MMU_PAGES))
		__kvm_mmu_free_some_pages(vcpu);
}

static inline int kvm_mmu_reload(struct kvm_vcpu *vcpu)
{
	if (likely(vcpu->arch.mmu.root_hpa != INVALID_PAGE))
		return 0;

	return kvm_mmu_load(vcpu);
}

static inline int is_long_mode(struct kvm_vcpu *vcpu)
{
#ifdef CONFIG_X86_64
	return vcpu->arch.shadow_efer & EFER_LME;
#else
	return 0;
#endif
}

static inline int is_pae(struct kvm_vcpu *vcpu)
{
	return vcpu->arch.cr4 & X86_CR4_PAE;
}

static inline int is_pse(struct kvm_vcpu *vcpu)
{
	return vcpu->arch.cr4 & X86_CR4_PSE;
}

static inline int is_paging(struct kvm_vcpu *vcpu)
{
	return vcpu->arch.cr0 & X86_CR0_PG;
}

#endif
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include "kvm_svm.h"
#include "x86_emulate.h"
#include "irq.h"
#include "mmu.h"

#include <linux/module.h>
#include <linux/kernel.h>
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include "irq.h"
#include "vmx.h"
#include "segment_descriptor.h"
#include "mmu.h"

#include <linux/module.h>
#include <linux/kernel.h>
Loading