]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
KVM: PPC: Adjust memory slot accesses to SRCU changes
authorAlexander Graf <agraf@suse.de>
Sun, 3 Jan 2010 02:14:27 +0000 (03:14 +0100)
committerMarcelo Tosatti <mtosatti@redhat.com>
Tue, 5 Jan 2010 17:13:57 +0000 (15:13 -0200)
Commit 18657960237322b8f6ba84938d27524634212aaf apparently broke PPC Book3S
compilation. This patch fixes it.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reported-by: Giuseppe Falsetti <giuseppe@czero.it>
CC: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/powerpc/kvm/book3s.c
arch/powerpc/kvm/powerpc.c

index 803505d3e455827fa2b411dbc664172161ad3156..492dcc198dd36c0acaa435df17cc3a87c6d7ffc2 100644 (file)
@@ -857,7 +857,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
        int is_dirty = 0;
        int r, n;
 
-       down_write(&kvm->slots_lock);
+       mutex_lock(&kvm->slots_lock);
 
        r = kvm_get_dirty_log(kvm, log, &is_dirty);
        if (r)
@@ -865,7 +865,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
 
        /* If nothing is dirty, don't bother messing with page tables. */
        if (is_dirty) {
-               memslot = &kvm->memslots[log->slot];
+               memslot = &kvm->memslots->memslots[log->slot];
 
                ga = memslot->base_gfn << PAGE_SHIFT;
                ga_end = ga + (memslot->npages << PAGE_SHIFT);
@@ -879,7 +879,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
 
        r = 0;
 out:
-       up_write(&kvm->slots_lock);
+       mutex_unlock(&kvm->slots_lock);
        return r;
 }
 
index f06cf93b178ec2d037a39eeee202b567a42d6eb2..5ba18659dfccbffda239acf6affa1ab7d1e7068d 100644 (file)
@@ -165,14 +165,23 @@ long kvm_arch_dev_ioctl(struct file *filp,
        return -EINVAL;
 }
 
-int kvm_arch_set_memory_region(struct kvm *kvm,
-                               struct kvm_userspace_memory_region *mem,
-                               struct kvm_memory_slot old,
-                               int user_alloc)
+int kvm_arch_prepare_memory_region(struct kvm *kvm,
+                                   struct kvm_memory_slot *memslot,
+                                   struct kvm_memory_slot old,
+                                   int user_alloc)
 {
        return 0;
 }
 
+void kvm_arch_commit_memory_region(struct kvm *kvm,
+               struct kvm_userspace_memory_region *mem,
+               struct kvm_memory_slot old,
+               int user_alloc)
+{
+       return;
+}
+
+
 void kvm_arch_flush_shadow(struct kvm *kvm)
 {
 }