mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
KVM: SVM: Fold kvm_svm.h info svm.c
kvm_svm.h is only included from svm.c, so fold it in. Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
b188d2d365
commit
6c8166a77c
@ -1,53 +0,0 @@
|
|||||||
#ifndef __KVM_SVM_H
|
|
||||||
#define __KVM_SVM_H
|
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
|
||||||
#include <linux/types.h>
|
|
||||||
#include <linux/list.h>
|
|
||||||
#include <linux/kvm_host.h>
|
|
||||||
#include <asm/msr.h>
|
|
||||||
|
|
||||||
#include <asm/svm.h>
|
|
||||||
|
|
||||||
static const u32 host_save_user_msrs[] = {
|
|
||||||
#ifdef CONFIG_X86_64
|
|
||||||
MSR_STAR, MSR_LSTAR, MSR_CSTAR, MSR_SYSCALL_MASK, MSR_KERNEL_GS_BASE,
|
|
||||||
MSR_FS_BASE,
|
|
||||||
#endif
|
|
||||||
MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define NR_HOST_SAVE_USER_MSRS ARRAY_SIZE(host_save_user_msrs)
|
|
||||||
|
|
||||||
struct kvm_vcpu;
|
|
||||||
|
|
||||||
struct vcpu_svm {
|
|
||||||
struct kvm_vcpu vcpu;
|
|
||||||
struct vmcb *vmcb;
|
|
||||||
unsigned long vmcb_pa;
|
|
||||||
struct svm_cpu_data *svm_data;
|
|
||||||
uint64_t asid_generation;
|
|
||||||
uint64_t sysenter_esp;
|
|
||||||
uint64_t sysenter_eip;
|
|
||||||
|
|
||||||
u64 next_rip;
|
|
||||||
|
|
||||||
u64 host_user_msrs[NR_HOST_SAVE_USER_MSRS];
|
|
||||||
u64 host_gs_base;
|
|
||||||
unsigned long host_cr2;
|
|
||||||
|
|
||||||
u32 *msrpm;
|
|
||||||
struct vmcb *hsave;
|
|
||||||
u64 hsave_msr;
|
|
||||||
|
|
||||||
u64 nested_vmcb;
|
|
||||||
|
|
||||||
/* These are the merged vectors */
|
|
||||||
u32 *nested_msrpm;
|
|
||||||
|
|
||||||
/* gpa pointers to the real vectors */
|
|
||||||
u64 nested_vmcb_msrpm;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -15,7 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
#include <linux/kvm_host.h>
|
#include <linux/kvm_host.h>
|
||||||
|
|
||||||
#include "kvm_svm.h"
|
|
||||||
#include "irq.h"
|
#include "irq.h"
|
||||||
#include "mmu.h"
|
#include "mmu.h"
|
||||||
#include "kvm_cache_regs.h"
|
#include "kvm_cache_regs.h"
|
||||||
@ -57,6 +56,46 @@ MODULE_LICENSE("GPL");
|
|||||||
#define nsvm_printk(fmt, args...) do {} while(0)
|
#define nsvm_printk(fmt, args...) do {} while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static const u32 host_save_user_msrs[] = {
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
MSR_STAR, MSR_LSTAR, MSR_CSTAR, MSR_SYSCALL_MASK, MSR_KERNEL_GS_BASE,
|
||||||
|
MSR_FS_BASE,
|
||||||
|
#endif
|
||||||
|
MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NR_HOST_SAVE_USER_MSRS ARRAY_SIZE(host_save_user_msrs)
|
||||||
|
|
||||||
|
struct kvm_vcpu;
|
||||||
|
|
||||||
|
struct vcpu_svm {
|
||||||
|
struct kvm_vcpu vcpu;
|
||||||
|
struct vmcb *vmcb;
|
||||||
|
unsigned long vmcb_pa;
|
||||||
|
struct svm_cpu_data *svm_data;
|
||||||
|
uint64_t asid_generation;
|
||||||
|
uint64_t sysenter_esp;
|
||||||
|
uint64_t sysenter_eip;
|
||||||
|
|
||||||
|
u64 next_rip;
|
||||||
|
|
||||||
|
u64 host_user_msrs[NR_HOST_SAVE_USER_MSRS];
|
||||||
|
u64 host_gs_base;
|
||||||
|
unsigned long host_cr2;
|
||||||
|
|
||||||
|
u32 *msrpm;
|
||||||
|
struct vmcb *hsave;
|
||||||
|
u64 hsave_msr;
|
||||||
|
|
||||||
|
u64 nested_vmcb;
|
||||||
|
|
||||||
|
/* These are the merged vectors */
|
||||||
|
u32 *nested_msrpm;
|
||||||
|
|
||||||
|
/* gpa pointers to the real vectors */
|
||||||
|
u64 nested_vmcb_msrpm;
|
||||||
|
};
|
||||||
|
|
||||||
/* enable NPT for AMD64 and X86 with PAE */
|
/* enable NPT for AMD64 and X86 with PAE */
|
||||||
#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
|
#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
|
||||||
static bool npt_enabled = true;
|
static bool npt_enabled = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user