[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io |
Date: |
Sat, 24 Aug 2013 05:49:59 +0200 |
From: Jan Kiszka <address@hidden>
Now that cpu_in/out is just a wrapper around address_space_rw, we can
also call the latter directly. As host endianness == guest endianness,
there is no need for the memory access helpers st*_p/ld*_p as well.
Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
kvm-all.c | 28 ++--------------------------
1 file changed, 2 insertions(+), 26 deletions(-)
diff --git a/kvm-all.c b/kvm-all.c
index bfa4aac..ef52a0f 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1508,32 +1508,8 @@ static void kvm_handle_io(uint16_t port, void *data, int
direction, int size,
uint8_t *ptr = data;
for (i = 0; i < count; i++) {
- if (direction == KVM_EXIT_IO_IN) {
- switch (size) {
- case 1:
- stb_p(ptr, cpu_inb(port));
- break;
- case 2:
- stw_p(ptr, cpu_inw(port));
- break;
- case 4:
- stl_p(ptr, cpu_inl(port));
- break;
- }
- } else {
- switch (size) {
- case 1:
- cpu_outb(port, ldub_p(ptr));
- break;
- case 2:
- cpu_outw(port, lduw_p(ptr));
- break;
- case 4:
- cpu_outl(port, ldl_p(ptr));
- break;
- }
- }
-
+ address_space_rw(&address_space_io, port, ptr, size,
+ direction == KVM_EXIT_IO_OUT);
ptr += size;
}
}
--
1.8.3.1
- [Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io, (continued)
- [Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 4/9] kvm: add KVM_IRQFD_FLAG_RESAMPLE support, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 7/9] kvm-all.c: max_cpus should not exceed KVM vcpu limit, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 8/9] kvm: i386: fix LAPIC TSC deadline timer save/restore, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 9/9] kvm: shorten the parameter list for get_real_device(), Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 0/9] KVM changes for 2013-08-23, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 1/9] Initialize IA32_FEATURE_CONTROL MSR in reset and migration, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 5/9] kvm: x86: fix setting IA32_FEATURE_CONTROL with nested VMX disabled, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 2/9] target-i386: remove tabs from target-i386/cpu.h, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io,
Paolo Bonzini <=
- [Qemu-devel] [PULL 3/9] kvm: migrate vPMU state, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 4/9] kvm: add KVM_IRQFD_FLAG_RESAMPLE support, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 7/9] kvm-all.c: max_cpus should not exceed KVM vcpu limit, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 8/9] kvm: i386: fix LAPIC TSC deadline timer save/restore, Paolo Bonzini, 2013/08/23
- [Qemu-devel] [PULL 9/9] kvm: shorten the parameter list for get_real_device(), Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PULL 0/9] KVM changes for 2013-08-23, Paolo Bonzini, 2013/08/23