aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/kvm.h
diff options
context:
space:
mode:
authorZhang Xiantao <xiantao.zhang@intel.com>2007-11-14 07:38:21 -0500
committerAvi Kivity <avi@qumranet.com>2008-01-30 10:53:02 -0500
commite9b11c17552afe684e9e5d0444309a3ddf410116 (patch)
treef0905a61791645dbede13cbdf017ea458ffa54c5 /drivers/kvm/kvm.h
parent97896d04a14669b146c17d779b81ec7a339deeb3 (diff)
KVM: Portability: Add vcpu and hardware management arch hooks
Add the following hooks: void decache_vcpus_on_cpu(int cpu); int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu); void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu); struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id); void kvm_arch_vcpu_destory(struct kvm_vcpu *vcpu); int kvm_arch_vcpu_reset(struct kvm_vcpu *vcpu); void kvm_arch_hardware_enable(void *garbage); 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); Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/kvm.h')
-rw-r--r--drivers/kvm/kvm.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 64983240adca..bca07c6d0460 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -492,6 +492,8 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vcpu);
492void vcpu_load(struct kvm_vcpu *vcpu); 492void vcpu_load(struct kvm_vcpu *vcpu);
493void vcpu_put(struct kvm_vcpu *vcpu); 493void vcpu_put(struct kvm_vcpu *vcpu);
494 494
495void decache_vcpus_on_cpu(int cpu);
496
495 497
496int kvm_init_x86(struct kvm_x86_ops *ops, unsigned int vcpu_size, 498int kvm_init_x86(struct kvm_x86_ops *ops, unsigned int vcpu_size,
497 struct module *module); 499 struct module *module);
@@ -649,6 +651,23 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run);
649 651
650__init void kvm_arch_init(void); 652__init void kvm_arch_init(void);
651 653
654int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu);
655void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu);
656
657void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu);
658void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu);
659void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu);
660struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id);
661void kvm_arch_vcpu_destory(struct kvm_vcpu *vcpu);
662
663int kvm_arch_vcpu_reset(struct kvm_vcpu *vcpu);
664void kvm_arch_hardware_enable(void *garbage);
665void kvm_arch_hardware_disable(void *garbage);
666int kvm_arch_hardware_setup(void);
667void kvm_arch_hardware_unsetup(void);
668void kvm_arch_check_processor_compat(void *rtn);
669
670
652static inline void kvm_guest_enter(void) 671static inline void kvm_guest_enter(void)
653{ 672{
654 account_system_vtime(current); 673 account_system_vtime(current);