コード例 #1
0
ファイル: iommu.c プロジェクト: 325116067/semc-qsd8x50
static int kvm_iommu_map_memslots(struct kvm *kvm)
{
	int i, r = 0;

	for (i = 0; i < kvm->nmemslots; i++) {
		r = kvm_iommu_map_pages(kvm, kvm->memslots[i].base_gfn,
					kvm->memslots[i].npages);
		if (r)
			break;
	}

	return r;
}
コード例 #2
0
ファイル: iommu.c プロジェクト: Niisp/MT6795.kernel
static int kvm_iommu_map_memslots(struct kvm *kvm)
{
    int idx, r = 0;
    struct kvm_memslots *slots;
    struct kvm_memory_slot *memslot;

    idx = srcu_read_lock(&kvm->srcu);
    slots = kvm_memslots(kvm);

    kvm_for_each_memslot(memslot, slots) {
        r = kvm_iommu_map_pages(kvm, memslot);
        if (r)
            break;
    }
コード例 #3
0
static int kvm_iommu_map_memslots(struct kvm *kvm)
{
    int i, r = 0;
    struct kvm_memslots *slots;

    slots = rcu_dereference(kvm->memslots);

    for (i = 0; i < slots->nmemslots; i++) {
        r = kvm_iommu_map_pages(kvm, &slots->memslots[i]);
        if (r)
            break;
    }

    return r;
}
コード例 #4
0
ファイル: iommu.c プロジェクト: 020gzh/linux
static int kvm_iommu_map_memslots(struct kvm *kvm)
{
	int idx, r = 0;
	struct kvm_memslots *slots;
	struct kvm_memory_slot *memslot;

	if (kvm->arch.iommu_noncoherent)
		kvm_arch_register_noncoherent_dma(kvm);

	idx = srcu_read_lock(&kvm->srcu);
	slots = kvm_memslots(kvm);

	kvm_for_each_memslot(memslot, slots) {
		r = kvm_iommu_map_pages(kvm, memslot);
		if (r)
			break;
	}