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;
 | 
			
		||||
    struct kvm_userspace_memory_region mem;
 | 
			
		||||
    int ret;
 | 
			
		||||
 | 
			
		||||
    mem.slot = slot->slot | (kml->as_id << 16);
 | 
			
		||||
    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);
 | 
			
		||||
    }
 | 
			
		||||
    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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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_update_msi_route(int virq) "Updating MSI route 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