forked from mirrors/linux
		
	KVM: Add kvm_vcpu_get_idx to get vcpu index in kvm->vcpus
There are occasional needs to use the index of vcpu in the kvm->vcpus array to map something related to a VCPU. For example, unlike the vcpu->vcpu_id, the vcpu index is guaranteed to not be sparse across all vcpus which is useful when allocating a memory area for each vcpu. Signed-off-by: Christoffer Dall <cdall@linaro.org> Reviewed-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
		
							parent
							
								
									443c3a9e68
								
							
						
					
					
						commit
						497d72d80a
					
				
					 1 changed files with 11 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -490,6 +490,17 @@ static inline struct kvm_vcpu *kvm_get_vcpu_by_id(struct kvm *kvm, int id)
 | 
			
		|||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline int kvm_vcpu_get_idx(struct kvm_vcpu *vcpu)
 | 
			
		||||
{
 | 
			
		||||
	struct kvm_vcpu *tmp;
 | 
			
		||||
	int idx;
 | 
			
		||||
 | 
			
		||||
	kvm_for_each_vcpu(idx, tmp, vcpu->kvm)
 | 
			
		||||
		if (tmp == vcpu)
 | 
			
		||||
			return idx;
 | 
			
		||||
	BUG();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define kvm_for_each_memslot(memslot, slots)	\
 | 
			
		||||
	for (memslot = &slots->memslots[0];	\
 | 
			
		||||
	      memslot < slots->memslots + KVM_MEM_SLOTS_NUM && memslot->npages;\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue