Lines Matching refs:stt

48 static void release_spapr_tce_table(struct kvmppc_spapr_tce_table *stt)  in release_spapr_tce_table()  argument
50 struct kvm *kvm = stt->kvm; in release_spapr_tce_table()
54 list_del(&stt->list); in release_spapr_tce_table()
55 for (i = 0; i < kvmppc_stt_npages(stt->window_size); i++) in release_spapr_tce_table()
56 __free_page(stt->pages[i]); in release_spapr_tce_table()
57 kfree(stt); in release_spapr_tce_table()
65 struct kvmppc_spapr_tce_table *stt = vma->vm_file->private_data; in kvm_spapr_tce_fault() local
68 if (vmf->pgoff >= kvmppc_stt_npages(stt->window_size)) in kvm_spapr_tce_fault()
71 page = stt->pages[vmf->pgoff]; in kvm_spapr_tce_fault()
89 struct kvmppc_spapr_tce_table *stt = filp->private_data; in kvm_spapr_tce_release() local
91 release_spapr_tce_table(stt); in kvm_spapr_tce_release()
103 struct kvmppc_spapr_tce_table *stt = NULL; in kvm_vm_ioctl_create_spapr_tce() local
109 list_for_each_entry(stt, &kvm->arch.spapr_tce_tables, list) { in kvm_vm_ioctl_create_spapr_tce()
110 if (stt->liobn == args->liobn) in kvm_vm_ioctl_create_spapr_tce()
116 stt = kzalloc(sizeof(*stt) + npages * sizeof(struct page *), in kvm_vm_ioctl_create_spapr_tce()
118 if (!stt) in kvm_vm_ioctl_create_spapr_tce()
121 stt->liobn = args->liobn; in kvm_vm_ioctl_create_spapr_tce()
122 stt->window_size = args->window_size; in kvm_vm_ioctl_create_spapr_tce()
123 stt->kvm = kvm; in kvm_vm_ioctl_create_spapr_tce()
126 stt->pages[i] = alloc_page(GFP_KERNEL | __GFP_ZERO); in kvm_vm_ioctl_create_spapr_tce()
127 if (!stt->pages[i]) in kvm_vm_ioctl_create_spapr_tce()
134 list_add(&stt->list, &kvm->arch.spapr_tce_tables); in kvm_vm_ioctl_create_spapr_tce()
139 stt, O_RDWR | O_CLOEXEC); in kvm_vm_ioctl_create_spapr_tce()
142 if (stt) { in kvm_vm_ioctl_create_spapr_tce()
144 if (stt->pages[i]) in kvm_vm_ioctl_create_spapr_tce()
145 __free_page(stt->pages[i]); in kvm_vm_ioctl_create_spapr_tce()
147 kfree(stt); in kvm_vm_ioctl_create_spapr_tce()