• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/kvm/

Lines Matching defs:kvm

18 #include "kvm.h"
20 #include <linux/kvm.h>
240 mark_page_dirty(vcpu->kvm, gfn);
291 static struct kvm_vcpu *vcpu_load_slot(struct kvm *kvm, int slot)
293 struct kvm_vcpu *vcpu = &kvm->vcpus[slot];
310 static struct kvm *kvm_create_vm(void)
312 struct kvm *kvm = kzalloc(sizeof(struct kvm), GFP_KERNEL);
315 if (!kvm)
318 spin_lock_init(&kvm->lock);
319 INIT_LIST_HEAD(&kvm->active_mmu_pages);
321 struct kvm_vcpu *vcpu = &kvm->vcpus[i];
325 vcpu->kvm = kvm;
329 list_add(&kvm->vm_list, &vm_list);
332 return kvm;
364 static void kvm_free_physmem(struct kvm *kvm)
368 for (i = 0; i < kvm->nmemslots; ++i)
369 kvm_free_physmem_slot(&kvm->memslots[i], NULL);
399 static void kvm_free_vcpus(struct kvm *kvm)
404 kvm_free_vcpu(&kvm->vcpus[i]);
412 static void kvm_destroy_vm(struct kvm *kvm)
415 list_del(&kvm->vm_list);
417 kvm_free_vcpus(kvm);
418 kvm_free_physmem(kvm);
419 kfree(kvm);
424 struct kvm *kvm = filp->private_data;
426 kvm_destroy_vm(kvm);
448 spin_lock(&vcpu->kvm->lock);
449 page = gfn_to_page(vcpu->kvm, pdpt_gfn);
466 spin_unlock(&vcpu->kvm->lock);
526 spin_lock(&vcpu->kvm->lock);
528 spin_unlock(&vcpu->kvm->lock);
566 spin_lock(&vcpu->kvm->lock);
568 spin_unlock(&vcpu->kvm->lock);
596 spin_lock(&vcpu->kvm->lock);
606 if (unlikely(!gfn_to_memslot(vcpu->kvm, cr3 >> PAGE_SHIFT)))
610 spin_unlock(&vcpu->kvm->lock);
653 spin_lock(&vcpu->kvm->lock);
655 spin_unlock(&vcpu->kvm->lock);
664 static int kvm_vm_ioctl_set_memory_region(struct kvm *kvm,
686 memslot = &kvm->memslots[mem->slot];
694 spin_lock(&kvm->lock);
696 memory_config_version = kvm->memory_config_version;
711 struct kvm_memory_slot *s = &kvm->memslots[i];
723 spin_unlock(&kvm->lock);
762 spin_lock(&kvm->lock);
764 if (memory_config_version != kvm->memory_config_version) {
765 spin_unlock(&kvm->lock);
771 if (kvm->busy)
774 if (mem->slot >= kvm->nmemslots)
775 kvm->nmemslots = mem->slot + 1;
778 ++kvm->memory_config_version;
780 spin_unlock(&kvm->lock);
785 vcpu = vcpu_load_slot(kvm, i);
798 spin_unlock(&kvm->lock);
808 static int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
817 spin_lock(&kvm->lock);
823 ++kvm->busy;
824 spin_unlock(&kvm->lock);
829 memslot = &kvm->memslots[log->slot];
848 vcpu = vcpu_load_slot(kvm, i);
864 spin_lock(&kvm->lock);
865 --kvm->busy;
866 spin_unlock(&kvm->lock);
875 static int kvm_vm_ioctl_set_memory_alias(struct kvm *kvm,
896 spin_lock(&kvm->lock);
898 p = &kvm->aliases[alias->slot];
904 if (kvm->aliases[n - 1].npages)
906 kvm->naliases = n;
908 spin_unlock(&kvm->lock);
910 vcpu_load(&kvm->vcpus[0]);
911 spin_lock(&kvm->lock);
912 kvm_mmu_zap_all(&kvm->vcpus[0]);
913 spin_unlock(&kvm->lock);
914 vcpu_put(&kvm->vcpus[0]);
922 static gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
927 for (i = 0; i < kvm->naliases; ++i) {
928 alias = &kvm->aliases[i];
936 static struct kvm_memory_slot *__gfn_to_memslot(struct kvm *kvm, gfn_t gfn)
940 for (i = 0; i < kvm->nmemslots; ++i) {
941 struct kvm_memory_slot *memslot = &kvm->memslots[i];
950 struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn)
952 gfn = unalias_gfn(kvm, gfn);
953 return __gfn_to_memslot(kvm, gfn);
956 struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn)
960 gfn = unalias_gfn(kvm, gfn);
961 slot = __gfn_to_memslot(kvm, gfn);
968 void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
974 for (i = 0; i < kvm->nmemslots; ++i) {
975 memslot = &kvm->memslots[i];
1012 page = gfn_to_page(vcpu->kvm, pfn);
1075 page = gfn_to_page(vcpu->kvm, gpa >> PAGE_SHIFT);
1079 mark_page_dirty(vcpu->kvm, gpa >> PAGE_SHIFT);
1122 printk(KERN_WARNING "kvm: emulating exchange as write\n");
1392 printk(KERN_DEBUG "kvm: guest trying to enter paravirtual mode\n");
1406 mark_page_dirty(vcpu->kvm, para_state_gpa >> PAGE_SHIFT);
1431 printk(KERN_DEBUG "kvm: para guest successfully registered.\n");
1436 mark_page_dirty(vcpu->kvm, hypercall_gpa >> PAGE_SHIFT);
1490 printk(KERN_ERR "kvm: unhandled rdmsr: 0x%x\n", msr);
1569 printk(KERN_ERR "kvm: unhandled wrmsr: 0x%x\n", msr);
1784 printk(KERN_ERR "kvm: guest string pio down\n");
1792 spin_lock(&vcpu->kvm->lock);
1797 spin_unlock(&vcpu->kvm->lock);
2179 spin_lock(&vcpu->kvm->lock);
2185 spin_unlock(&vcpu->kvm->lock);
2254 fput(vcpu->kvm->filp);
2274 atomic_inc(&vcpu->kvm->filp->f_count);
2300 fput(vcpu->kvm->filp);
2307 static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, int n)
2317 vcpu = &kvm->vcpus[n];
2648 struct kvm *kvm = filp->private_data;
2654 r = kvm_vm_ioctl_create_vcpu(kvm, arg);
2664 r = kvm_vm_ioctl_set_memory_region(kvm, &kvm_mem);
2675 r = kvm_vm_ioctl_get_dirty_log(kvm, &log);
2686 r = kvm_vm_ioctl_set_memory_alias(kvm, &alias);
2702 struct kvm *kvm = vma->vm_file->private_data;
2708 page = gfn_to_page(kvm, pgoff);
2737 struct kvm *kvm;
2745 kvm = kvm_create_vm();
2746 if (IS_ERR(kvm)) {
2747 r = PTR_ERR(kvm);
2751 file = kvmfs_file(inode, kvm);
2756 kvm->filp = file;
2769 kvm_destroy_vm(kvm);
2850 "kvm",
2862 printk(KERN_INFO "kvm: exiting hardware virtualization\n");
2879 struct kvm *vm;
2916 printk(KERN_INFO "kvm: disabling virtualization on CPU%d\n",
2924 printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n",
2942 struct kvm *kvm;
2947 list_for_each_entry(kvm, &vm_list, vm_list)
2949 vcpu = &kvm->vcpus[i];
2966 debugfs_dir = debugfs_create_dir("kvm", NULL);
2996 set_kset_name("kvm"),
3011 return get_sb_pseudo(fs_type, "kvm:", NULL, KVMFS_SUPER_MAGIC, mnt);
3025 printk(KERN_ERR "kvm: already loaded the other module\n");
3030 printk(KERN_ERR "kvm: no hardware support\n");
3034 printk(KERN_ERR "kvm: disabled by bios\n");
3062 printk (KERN_ERR "kvm: misc device register failed\n");