all they did was to call a qemu function. Call this function instead. Signed-off-by: Glauber Costa <glommer@xxxxxxxxxx> --- qemu-kvm-x86.c | 7 +------ qemu-kvm.c | 34 ++++++++-------------------------- 2 files changed, 9 insertions(+), 32 deletions(-) diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c index 350f272..741ae0a 100644 --- a/qemu-kvm-x86.c +++ b/qemu-kvm-x86.c @@ -344,7 +344,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) { @@ -364,11 +363,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, 0); 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 0724c28..9b1c506 100644 --- a/qemu-kvm.c +++ b/qemu-kvm.c @@ -95,18 +95,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(kvm_context_t kvm, kvm_vcpu_context_t vcpu, uint64_t reason) { @@ -888,23 +876,17 @@ int kvm_set_mpstate(kvm_vcpu_context_t vcpu, struct kvm_mp_state *mp_state) } #endif -static int handle_mmio(kvm_vcpu_context_t vcpu) +static void 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; /* hack: Red Hat 7.1 generates these weird accesses. */ if ((addr > 0xa0000-4 && addr <= 0xa0000) && kvm_run->mmio.len == 3) - return 0; + return; - 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); } int handle_io_window(kvm_context_t kvm) @@ -991,10 +973,9 @@ again: struct kvm_coalesced_mmio_ring *ring = (void *)run + kvm->coalesced_mmio * PAGE_SIZE; while (ring->first != ring->last) { - kvm_mmio_write(kvm->opaque, - ring->coalesced_mmio[ring->first].phys_addr, - &ring->coalesced_mmio[ring->first].data[0], - ring->coalesced_mmio[ring->first].len); + cpu_physical_memory_rw(ring->coalesced_mmio[ring->first].phys_addr, + &ring->coalesced_mmio[ring->first].data[0], + ring->coalesced_mmio[ring->first].len, 1); smp_wmb(); ring->first = (ring->first + 1) % KVM_COALESCED_MMIO_MAX; @@ -1033,7 +1014,8 @@ again: r = handle_debug(vcpu, env); break; case KVM_EXIT_MMIO: - r = handle_mmio(vcpu); + r = 0; + handle_mmio(vcpu); break; case KVM_EXIT_HLT: r = handle_halt(vcpu); -- 1.6.2.2 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html