KVM: kvm_io_device: extend in_range() to manage len and write attribute
[linux-2.6.git] / virt / kvm / iodev.h
index c14e642027b27b9bab271356d53c5e7ed3b27d4c..55e8846ac3a603bcb8a88e0ffdfbf69fcca67b5c 100644 (file)
@@ -27,7 +27,8 @@ struct kvm_io_device {
                      gpa_t addr,
                      int len,
                      const void *val);
-       int (*in_range)(struct kvm_io_device *this, gpa_t addr);
+       int (*in_range)(struct kvm_io_device *this, gpa_t addr, int len,
+                       int is_write);
        void (*destructor)(struct kvm_io_device *this);
 
        void             *private;
@@ -49,9 +50,10 @@ static inline void kvm_iodevice_write(struct kvm_io_device *dev,
        dev->write(dev, addr, len, val);
 }
 
-static inline int kvm_iodevice_inrange(struct kvm_io_device *dev, gpa_t addr)
+static inline int kvm_iodevice_inrange(struct kvm_io_device *dev,
+                                      gpa_t addr, int len, int is_write)
 {
-       return dev->in_range(dev, addr);
+       return dev->in_range(dev, addr, len, is_write);
 }
 
 static inline void kvm_iodevice_destructor(struct kvm_io_device *dev)