mirror of https://github.com/xemu-project/xemu.git
kvm: Add kvm_set_user_memory tracepoint
This adds a tracepoint to trace the KVM_SET_USER_MEMORY_REGION ioctl parameters which is quite useful for debugging VFIO memory regions being actually registered with KVM. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Message-Id: <20171215052326.21386-1-aik@ozlabs.ru> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
bf85388169
commit
fe29141bee
|
@ -235,6 +235,7 @@ static int kvm_set_user_memory_region(KVMMemoryListener *kml, KVMSlot *slot)
|
||||||
{
|
{
|
||||||
KVMState *s = kvm_state;
|
KVMState *s = kvm_state;
|
||||||
struct kvm_userspace_memory_region mem;
|
struct kvm_userspace_memory_region mem;
|
||||||
|
int ret;
|
||||||
|
|
||||||
mem.slot = slot->slot | (kml->as_id << 16);
|
mem.slot = slot->slot | (kml->as_id << 16);
|
||||||
mem.guest_phys_addr = slot->start_addr;
|
mem.guest_phys_addr = slot->start_addr;
|
||||||
|
@ -248,7 +249,10 @@ static int kvm_set_user_memory_region(KVMMemoryListener *kml, KVMSlot *slot)
|
||||||
kvm_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem);
|
kvm_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem);
|
||||||
}
|
}
|
||||||
mem.memory_size = slot->memory_size;
|
mem.memory_size = slot->memory_size;
|
||||||
return kvm_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem);
|
ret = kvm_vm_ioctl(s, KVM_SET_USER_MEMORY_REGION, &mem);
|
||||||
|
trace_kvm_set_user_memory(mem.slot, mem.flags, mem.guest_phys_addr,
|
||||||
|
mem.memory_size, mem.userspace_addr, ret);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_destroy_vcpu(CPUState *cpu)
|
int kvm_destroy_vcpu(CPUState *cpu)
|
||||||
|
|
|
@ -12,4 +12,5 @@ kvm_irqchip_commit_routes(void) ""
|
||||||
kvm_irqchip_add_msi_route(char *name, int vector, int virq) "dev %s vector %d virq %d"
|
kvm_irqchip_add_msi_route(char *name, int vector, int virq) "dev %s vector %d virq %d"
|
||||||
kvm_irqchip_update_msi_route(int virq) "Updating MSI route virq=%d"
|
kvm_irqchip_update_msi_route(int virq) "Updating MSI route virq=%d"
|
||||||
kvm_irqchip_release_virq(int virq) "virq %d"
|
kvm_irqchip_release_virq(int virq) "virq %d"
|
||||||
|
kvm_set_user_memory(uint32_t slot, uint32_t flags, uint64_t guest_phys_addr, uint64_t memory_size, uint64_t userspace_addr, int ret) "Slot#%d flags=0x%x gpa=0x%"PRIx64 " size=0x%"PRIx64 " ua=0x%"PRIx64 " ret=%d"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue