From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49825) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCnrb-0005iy-ID for qemu-devel@nongnu.org; Fri, 23 Aug 2013 05:41:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VCnrV-0004sq-3Q for qemu-devel@nongnu.org; Fri, 23 Aug 2013 05:41:03 -0400 Received: from mail-ea0-x233.google.com ([2a00:1450:4013:c01::233]:60697) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VCnrU-0004sV-Te for qemu-devel@nongnu.org; Fri, 23 Aug 2013 05:40:57 -0400 Received: by mail-ea0-f179.google.com with SMTP id b10so182078eae.38 for ; Fri, 23 Aug 2013 02:40:56 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 23 Aug 2013 11:39:50 +0200 Message-Id: <1377250793-24027-7-git-send-email-pbonzini@redhat.com> In-Reply-To: <1377250793-24027-1-git-send-email-pbonzini@redhat.com> References: <1377250793-24027-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 6/9] kvm: Simplify kvm_handle_io List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jan Kiszka , anthony@codemonkey.ws, gleb@redhat.com From: Jan Kiszka 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 Signed-off-by: Paolo Bonzini --- 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