Home | History | Annotate | Download | only in nvmm

Lines Matching defs:hmapping

686 	struct nvmm_hmapping *hmapping;
690 hmapping = &mach->hmap[i];
691 if (!hmapping->present) {
694 if (hva >= hmapping->hva &&
695 hva + size <= hmapping->hva + hmapping->size) {
696 *off = hva - hmapping->hva;
697 return hmapping->uobj;
707 struct nvmm_hmapping *hmapping;
718 hmapping = &mach->hmap[i];
719 if (!hmapping->present) {
723 if (hva >= hmapping->hva &&
724 hva + size <= hmapping->hva + hmapping->size) {
728 if (hva >= hmapping->hva &&
729 hva < hmapping->hva + hmapping->size) {
732 if (hva + size > hmapping->hva &&
733 hva + size <= hmapping->hva + hmapping->size) {
736 if (hva <= hmapping->hva &&
737 hva + size >= hmapping->hva + hmapping->size) {
748 struct nvmm_hmapping *hmapping;
752 hmapping = &mach->hmap[i];
753 if (!hmapping->present) {
754 hmapping->present = true;
755 return hmapping;
766 struct nvmm_hmapping *hmapping;
770 hmapping = &mach->hmap[i];
771 if (!hmapping->present || hmapping->hva != hva ||
772 hmapping->size != size) {
776 uvm_unmap(&vmspace->vm_map, hmapping->hva,
777 hmapping->hva + hmapping->size);
778 uao_detach(hmapping->uobj);
780 hmapping->uobj = NULL;
781 hmapping->present = false;
794 struct nvmm_hmapping *hmapping;
806 hmapping = nvmm_hmapping_alloc(mach);
807 if (hmapping == NULL) {
812 hmapping->hva = args->hva;
813 hmapping->size = args->size;
814 hmapping->uobj = uao_create(hmapping->size, 0);
815 uva = hmapping->hva;
818 uao_reference(hmapping->uobj);
821 error = uvm_map(&vmspace->vm_map, &uva, hmapping->size, hmapping->uobj,
825 uao_detach(hmapping->uobj);