diff options
author | Laurent Vivier <Laurent.Vivier@bull.net> | 2008-05-30 10:05:53 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-07-20 05:42:30 -0400 |
commit | 92760499d01ef91518119908eb9b8798b6c9bd3f (patch) | |
tree | a6bd80fbad82589eb5aa98f81edda4537bc1f625 /arch/x86/kvm/i8254.c | |
parent | 131d82791b628d4aeafd94ddc74a9b68f3d15a83 (diff) |
KVM: kvm_io_device: extend in_range() to manage len and write attribute
Modify member in_range() of structure kvm_io_device to pass length and the type
of the I/O (write or read).
This modification allows to use kvm_io_device with coalesced MMIO.
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/i8254.c')
-rw-r--r-- | arch/x86/kvm/i8254.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index 60074dc66bd7..9e3391e9a1b7 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c | |||
@@ -460,7 +460,8 @@ static void pit_ioport_read(struct kvm_io_device *this, | |||
460 | mutex_unlock(&pit_state->lock); | 460 | mutex_unlock(&pit_state->lock); |
461 | } | 461 | } |
462 | 462 | ||
463 | static int pit_in_range(struct kvm_io_device *this, gpa_t addr) | 463 | static int pit_in_range(struct kvm_io_device *this, gpa_t addr, |
464 | int len, int is_write) | ||
464 | { | 465 | { |
465 | return ((addr >= KVM_PIT_BASE_ADDRESS) && | 466 | return ((addr >= KVM_PIT_BASE_ADDRESS) && |
466 | (addr < KVM_PIT_BASE_ADDRESS + KVM_PIT_MEM_LENGTH)); | 467 | (addr < KVM_PIT_BASE_ADDRESS + KVM_PIT_MEM_LENGTH)); |
@@ -501,7 +502,8 @@ static void speaker_ioport_read(struct kvm_io_device *this, | |||
501 | mutex_unlock(&pit_state->lock); | 502 | mutex_unlock(&pit_state->lock); |
502 | } | 503 | } |
503 | 504 | ||
504 | static int speaker_in_range(struct kvm_io_device *this, gpa_t addr) | 505 | static int speaker_in_range(struct kvm_io_device *this, gpa_t addr, |
506 | int len, int is_write) | ||
505 | { | 507 | { |
506 | return (addr == KVM_SPEAKER_BASE_ADDRESS); | 508 | return (addr == KVM_SPEAKER_BASE_ADDRESS); |
507 | } | 509 | } |