Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Glauber Costa <glommer@redhat.com>
To: kvm@vger.kernel.org
Cc: avi@redhat.com
Subject: [PATCH 02/10] drop kvm_mmio_read and write
Date: Fri,  9 Oct 2009 15:03:10 -0300	[thread overview]
Message-ID: <1255111398-15251-3-git-send-email-glommer@redhat.com> (raw)
In-Reply-To: <1255111398-15251-2-git-send-email-glommer@redhat.com>

they are just a tiny wrapper around qemu memory functions. Drop' em

Signed-off-by: Glauber Costa <glommer@redhat.com>
---
 qemu-kvm-x86.c |    7 +------
 qemu-kvm.c     |   24 ++++--------------------
 2 files changed, 5 insertions(+), 26 deletions(-)

diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index a44ae67..e8ec59d 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -364,7 +364,6 @@ void kvm_show_code(kvm_vcpu_context_t vcpu)
 	unsigned char code;
 	char code_str[SHOW_CODE_LEN * 3 + 1];
 	unsigned long rip;
-	kvm_context_t kvm = vcpu->kvm;
 
 	r = ioctl(fd, KVM_GET_SREGS, &sregs);
 	if (r == -1) {
@@ -384,11 +383,7 @@ void kvm_show_code(kvm_vcpu_context_t vcpu)
 	for (n = -back_offset; n < SHOW_CODE_LEN-back_offset; ++n) {
 		if (n == 0)
 			strcat(code_str, " -->");
-		r = kvm_mmio_read(kvm->opaque, rip + n, &code, 1);
-		if (r < 0) {
-			strcat(code_str, " xx");
-			continue;
-		}
+		cpu_physical_memory_rw(rip + n, &code, 1, 1);
 		sprintf(code_str + strlen(code_str), " %02x", code);
 	}
 	fprintf(stderr, "code:%s\n", code_str);
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 6bda694..4ad6856 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -111,18 +111,6 @@ static int kvm_debug(void *opaque, void *data,
 }
 #endif
 
-int kvm_mmio_read(void *opaque, uint64_t addr, uint8_t *data, int len)
-{
-    cpu_physical_memory_rw(addr, data, len, 0);
-    return 0;
-}
-
-int kvm_mmio_write(void *opaque, uint64_t addr, uint8_t *data, int len)
-{
-    cpu_physical_memory_rw(addr, data, len, 1);
-    return 0;
-}
-
 static int handle_unhandled(uint64_t reason)
 {
     fprintf(stderr, "kvm: unhandled exit %" PRIx64 "\n", reason);
@@ -891,7 +879,6 @@ int kvm_set_mpstate(kvm_vcpu_context_t vcpu, struct kvm_mp_state *mp_state)
 static int handle_mmio(kvm_vcpu_context_t vcpu)
 {
     unsigned long addr = vcpu->run->mmio.phys_addr;
-    kvm_context_t kvm = vcpu->kvm;
     struct kvm_run *kvm_run = vcpu->run;
     void *data = kvm_run->mmio.data;
 
@@ -899,10 +886,8 @@ static int handle_mmio(kvm_vcpu_context_t vcpu)
     if ((addr > 0xa0000 - 4 && addr <= 0xa0000) && kvm_run->mmio.len == 3)
         return 0;
 
-    if (kvm_run->mmio.is_write)
-        return kvm_mmio_write(kvm->opaque, addr, data, kvm_run->mmio.len);
-    else
-        return kvm_mmio_read(kvm->opaque, addr, data, kvm_run->mmio.len);
+    cpu_physical_memory_rw(addr, data, kvm_run->mmio.len, kvm_run->mmio.is_write);
+    return 0;
 }
 
 int handle_io_window(kvm_context_t kvm)
@@ -994,10 +979,9 @@ int kvm_run(kvm_vcpu_context_t vcpu, void *env)
         struct kvm_coalesced_mmio_ring *ring =
             (void *) run + kvm_state->coalesced_mmio * PAGE_SIZE;
         while (ring->first != ring->last) {
-            kvm_mmio_write(kvm->opaque,
-                           ring->coalesced_mmio[ring->first].phys_addr,
+            cpu_physical_memory_rw(ring->coalesced_mmio[ring->first].phys_addr,
                            &ring->coalesced_mmio[ring->first].data[0],
-                           ring->coalesced_mmio[ring->first].len);
+                           ring->coalesced_mmio[ring->first].len, 1);
             smp_wmb();
             ring->first = (ring->first + 1) % KVM_COALESCED_MMIO_MAX;
         }
-- 
1.6.2.5


  reply	other threads:[~2009-10-09 18:03 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-09 18:03 [PATCH 00/10] Clean up vcpu context structure Glauber Costa
2009-10-09 18:03 ` [PATCH 01/10] use a more upstream friendly version of irqchip-in-kernel test Glauber Costa
2009-10-09 18:03   ` Glauber Costa [this message]
2009-10-09 18:03     ` [PATCH 03/10] remove unneded opaque Glauber Costa
2009-10-09 18:03       ` [PATCH 04/10] remove kvm_context from vpcu structure Glauber Costa
2009-10-09 18:03         ` [PATCH 05/10] Use kvm_run inside CPUState Glauber Costa
2009-10-09 18:03           ` [PATCH 06/10] make some functions static Glauber Costa
2009-10-09 18:03             ` [PATCH 07/10] use env as parameter for functions that access kvm_run Glauber Costa
2009-10-09 18:03               ` [PATCH 08/10] use env in kvm_arch_run Glauber Costa
2009-10-09 18:03                 ` [PATCH 09/10] remove kvm_run from vcpu_context Glauber Costa
2009-10-09 18:03                   ` [PATCH 10/10] remove id field from vcpu context structure Glauber Costa
2009-10-12  9:24 ` [PATCH 00/10] Clean up " Avi Kivity
2009-10-13 17:04 ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1255111398-15251-3-git-send-email-glommer@redhat.com \
    --to=glommer@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox