Lines Matching refs:stt
926 static void release_spapr_tce_table(struct kvmppc_spapr_tce_table *stt) in release_spapr_tce_table() argument
928 struct kvm *kvm = stt->kvm; in release_spapr_tce_table()
932 list_del(&stt->list); in release_spapr_tce_table()
933 for (i = 0; i < kvmppc_stt_npages(stt->window_size); i++) in release_spapr_tce_table()
934 __free_page(stt->pages[i]); in release_spapr_tce_table()
935 kfree(stt); in release_spapr_tce_table()
943 struct kvmppc_spapr_tce_table *stt = vma->vm_file->private_data; in kvm_spapr_tce_fault() local
946 if (vmf->pgoff >= kvmppc_stt_npages(stt->window_size)) in kvm_spapr_tce_fault()
949 page = stt->pages[vmf->pgoff]; in kvm_spapr_tce_fault()
967 struct kvmppc_spapr_tce_table *stt = filp->private_data; in kvm_spapr_tce_release() local
969 release_spapr_tce_table(stt); in kvm_spapr_tce_release()
981 struct kvmppc_spapr_tce_table *stt = NULL; in kvm_vm_ioctl_create_spapr_tce() local
987 list_for_each_entry(stt, &kvm->arch.spapr_tce_tables, list) { in kvm_vm_ioctl_create_spapr_tce()
988 if (stt->liobn == args->liobn) in kvm_vm_ioctl_create_spapr_tce()
994 stt = kzalloc(sizeof(*stt) + npages* sizeof(struct page *), in kvm_vm_ioctl_create_spapr_tce()
996 if (!stt) in kvm_vm_ioctl_create_spapr_tce()
999 stt->liobn = args->liobn; in kvm_vm_ioctl_create_spapr_tce()
1000 stt->window_size = args->window_size; in kvm_vm_ioctl_create_spapr_tce()
1001 stt->kvm = kvm; in kvm_vm_ioctl_create_spapr_tce()
1004 stt->pages[i] = alloc_page(GFP_KERNEL | __GFP_ZERO); in kvm_vm_ioctl_create_spapr_tce()
1005 if (!stt->pages[i]) in kvm_vm_ioctl_create_spapr_tce()
1012 list_add(&stt->list, &kvm->arch.spapr_tce_tables); in kvm_vm_ioctl_create_spapr_tce()
1017 stt, O_RDWR); in kvm_vm_ioctl_create_spapr_tce()
1020 if (stt) { in kvm_vm_ioctl_create_spapr_tce()
1022 if (stt->pages[i]) in kvm_vm_ioctl_create_spapr_tce()
1023 __free_page(stt->pages[i]); in kvm_vm_ioctl_create_spapr_tce()
1025 kfree(stt); in kvm_vm_ioctl_create_spapr_tce()