Lines Matching defs:pldt
69 static void user_ldt_deref(struct proc_ldt *pldt);
70 static void user_ldt_derefl(struct proc_ldt *pldt);
505 struct proc_ldt *pldt, *new_ldt;
531 pldt = mdp->md_ldt;
532 if (pldt != NULL && !force) {
536 return (pldt);
539 if (pldt != NULL) {
540 bcopy(pldt->ldt_base, new_ldt->ldt_base, max_ldt_segment *
542 user_ldt_derefl(pldt);
559 struct proc_ldt *pldt;
562 if ((pldt = mdp->md_ldt) == NULL) {
574 user_ldt_deref(pldt);
578 user_ldt_derefl(struct proc_ldt *pldt)
583 if (--pldt->ldt_refcnt == 0) {
584 sva = (vm_offset_t)pldt->ldt_base;
587 kmem_free(pldt->ldt_base, sz);
588 free(pldt, M_SUBPROC);
593 user_ldt_deref(struct proc_ldt *pldt)
597 user_ldt_derefl(pldt);
610 struct proc_ldt *pldt;
621 pldt = td->td_proc->p_md.md_ldt;
622 if (pldt == NULL || uap->start >= max_ldt_segment || uap->num == 0) {
627 lp = &((struct user_segment_descriptor *)(pldt->ldt_base))[uap->start];
647 struct proc_ldt *pldt;
668 if ((pldt = mdp->md_ldt) == NULL ||
678 ((volatile uint64_t *)(pldt->ldt_base))[i] = 0;
751 pldt = user_ldt_alloc(p, 0);
752 if (pldt == NULL) {
762 dp = &((struct user_segment_descriptor *)(pldt->ldt_base))[i];
795 struct proc_ldt *pldt;
802 pldt = mdp->md_ldt;
803 dst = (volatile uint64_t *)(pldt->ldt_base);