Home
last modified time | relevance | path

Searched refs:ldt (Results 1 – 36 of 36) sorted by relevance

/linux-4.4.14/arch/x86/um/
Dldt.c57 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in read_ldt() local
59 if (!ldt->entry_count) in read_ldt()
65 mutex_lock(&ldt->lock); in read_ldt()
66 if (ldt->entry_count <= LDT_DIRECT_ENTRIES) { in read_ldt()
70 if (copy_to_user(ptr, ldt->u.entries, size)) in read_ldt()
76 for (i=0; i<ldt->entry_count/LDT_ENTRIES_PER_PAGE && bytecount; in read_ldt()
81 if (copy_to_user(ptr, ldt->u.pages[i], size)) { in read_ldt()
89 mutex_unlock(&ldt->lock); in read_ldt()
122 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in write_ldt() local
146 mutex_lock(&ldt->lock); in write_ldt()
[all …]
DMakefile11 obj-y = bug.o bugs_$(BITS).o delay.o fault.o ksyms.o ldt.o \
/linux-4.4.14/arch/x86/kernel/
Dldt.c33 set_ldt(pc->ldt->entries, pc->ldt->size); in flush_ldt()
73 static void finalize_ldt_struct(struct ldt_struct *ldt) in finalize_ldt_struct() argument
75 paravirt_alloc_ldt(ldt->entries, ldt->size); in finalize_ldt_struct()
80 struct ldt_struct *ldt) in install_ldt() argument
83 smp_store_release(&current_mm->context.ldt, ldt); in install_ldt()
89 static void free_ldt_struct(struct ldt_struct *ldt) in free_ldt_struct() argument
91 if (likely(!ldt)) in free_ldt_struct()
94 paravirt_free_ldt(ldt->entries, ldt->size); in free_ldt_struct()
95 if (ldt->size * LDT_ENTRY_SIZE > PAGE_SIZE) in free_ldt_struct()
96 vfree(ldt->entries); in free_ldt_struct()
[all …]
Dstep.c35 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear()
36 seg >= child->mm->context.ldt->size)) in convert_ip_to_linear()
39 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear()
Ddoublefault.c55 .ldt = 0,
Dprocess_64.c126 if (dead_task->mm->context.ldt) { in release_thread()
129 dead_task->mm->context.ldt, in release_thread()
130 dead_task->mm->context.ldt->size); in release_thread()
DMakefile29 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o
/linux-4.4.14/arch/alpha/kernel/
Dentry.S686 ldt $f0, 64($sp) # dont let "do_switch_stack" change fp state.
705 ldt $f30, 312($sp) # get saved fpcr
706 ldt $f0, 64($sp)
707 ldt $f1, 72($sp)
708 ldt $f2, 80($sp)
709 ldt $f3, 88($sp)
711 ldt $f4, 96($sp)
712 ldt $f5, 104($sp)
713 ldt $f6, 112($sp)
714 ldt $f7, 120($sp)
[all …]
/linux-4.4.14/arch/x86/include/asm/
Dmmu_context.h69 struct ldt_struct *ldt; in load_mm_ldt() local
72 ldt = lockless_dereference(mm->context.ldt); in load_mm_ldt()
88 if (unlikely(ldt)) in load_mm_ldt()
89 set_ldt(ldt->entries, ldt->size); in load_mm_ldt()
170 if (unlikely(prev->context.ldt != next->context.ldt)) in switch_mm()
Ddesc.h95 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) argument
108 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument
112 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument
117 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) argument
124 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument
126 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry()
201 ldt_desc ldt; in native_set_ldt() local
203 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT, in native_set_ldt()
206 &ldt, DESC_LDT); in native_set_ldt()
Dmmu.h13 struct ldt_struct *ldt; member
Dsuspend_32.h20 u16 ldt; member
Dsuspend_64.h33 u16 ldt; member
Dparavirt_types.h138 void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum,
144 void (*alloc_ldt)(struct desc_struct *ldt, unsigned entries);
145 void (*free_ldt)(struct desc_struct *ldt, unsigned entries);
Dparavirt.h215 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument
217 PVOP_VCALL2(pv_cpu_ops.alloc_ldt, ldt, entries); in paravirt_alloc_ldt()
220 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument
222 PVOP_VCALL2(pv_cpu_ops.free_ldt, ldt, entries); in paravirt_free_ldt()
Dkvm_host.h1114 u16 ldt; in kvm_read_ldt() local
1115 asm("sldt %0" : "=g"(ldt)); in kvm_read_ldt()
1116 return ldt; in kvm_read_ldt()
Dprocessor.h257 unsigned short ldt, __ldth; member
/linux-4.4.14/drivers/staging/lustre/lustre/lov/
Dlovsub_dev.c97 struct lu_device_type *ldt; in lovsub_device_init() local
101 ldt = next->ld_type; in lovsub_device_init()
102 LASSERT(ldt != NULL); in lovsub_device_init()
103 rc = ldt->ldt_ops->ldto_device_init(env, next, ldt->ldt_name, NULL); in lovsub_device_init()
/linux-4.4.14/tools/testing/selftests/x86/
Dldt_gdt.c47 static void check_invalid_segment(uint16_t index, int ldt) in check_invalid_segment() argument
50 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_invalid_segment()
67 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment()
71 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment()
75 static void check_valid_segment(uint16_t index, int ldt, in check_valid_segment() argument
80 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_valid_segment()
97 (ldt ? "LDT" : "GDT"), index); in check_valid_segment()
104 (ldt ? "LDT" : "GDT"), index, ar, expected_ar); in check_valid_segment()
108 (ldt ? "LDT" : "GDT"), index, limit, expected_limit); in check_valid_segment()
112 (ldt ? "LDT" : "GDT"), index, ar, limit); in check_valid_segment()
/linux-4.4.14/arch/x86/math-emu/
Dfpu_system.h30 if (current->mm->context.ldt && seg < current->mm->context.ldt->size) in FPU_get_ldt_descriptor()
31 ret = current->mm->context.ldt->entries[seg]; in FPU_get_ldt_descriptor()
/linux-4.4.14/drivers/staging/lustre/lustre/obdclass/
Dlu_object.c731 int lu_device_type_init(struct lu_device_type *ldt) in lu_device_type_init() argument
735 INIT_LIST_HEAD(&ldt->ldt_linkage); in lu_device_type_init()
736 if (ldt->ldt_ops->ldto_init) in lu_device_type_init()
737 result = ldt->ldt_ops->ldto_init(ldt); in lu_device_type_init()
739 list_add(&ldt->ldt_linkage, &lu_device_types); in lu_device_type_init()
744 void lu_device_type_fini(struct lu_device_type *ldt) in lu_device_type_fini() argument
746 list_del_init(&ldt->ldt_linkage); in lu_device_type_fini()
747 if (ldt->ldt_ops->ldto_fini) in lu_device_type_fini()
748 ldt->ldt_ops->ldto_fini(ldt); in lu_device_type_fini()
754 struct lu_device_type *ldt; in lu_types_stop() local
[all …]
Dcl_object.c927 struct lu_device_type *ldt, in cl_type_setup() argument
933 LASSERT(ldt != NULL); in cl_type_setup()
935 typename = ldt->ldt_name; in cl_type_setup()
936 d = ldt->ldt_ops->ldto_device_alloc(env, ldt, NULL); in cl_type_setup()
942 rc = ldt->ldt_ops->ldto_device_init(env, d, typename, next); in cl_type_setup()
948 ldt->ldt_ops->ldto_device_free(env, d); in cl_type_setup()
Dgenops.c155 struct lu_device_type *ldt) in class_register_type() argument
205 if (ldt != NULL) { in class_register_type()
206 type->typ_lu = ldt; in class_register_type()
207 rc = lu_device_type_init(ldt); in class_register_type()
/linux-4.4.14/drivers/staging/lustre/lustre/include/
Dobd_class.h76 const char *nm, struct lu_device_type *ldt);
460 #define DECLARE_LU_VARS(ldt, d) \ argument
461 struct lu_device_type *ldt; \
467 DECLARE_LU_VARS(ldt, d); in obd_setup()
469 ldt = obd->obd_type->typ_lu; in obd_setup()
470 if (ldt != NULL) { in obd_setup()
478 rc = lu_env_init(&env, ldt->ldt_ctx_tags); in obd_setup()
481 d = ldt->ldt_ops->ldto_device_alloc(&env, ldt, cfg); in obd_setup()
505 DECLARE_LU_VARS(ldt, d); in obd_precleanup()
510 ldt = obd->obd_type->typ_lu; in obd_precleanup()
[all …]
Dlu_object.h678 int lu_device_type_init(struct lu_device_type *ldt);
679 void lu_device_type_fini(struct lu_device_type *ldt);
Dcl_object.h3243 struct lu_device_type *ldt,
/linux-4.4.14/arch/x86/um/asm/
Dmm_context.h69 uml_ldt_t ldt; member
/linux-4.4.14/arch/x86/kvm/
Dtss.h56 u16 ldt; member
Dsvm.c145 u16 ldt; member
1229 svm->host.ldt = kvm_read_ldt(); in svm_vcpu_load()
1249 kvm_load_ldt(svm->host.ldt); in svm_vcpu_put()
Demulate.c2892 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
2916 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
2928 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
Dx86.c6932 kvm_get_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR); in kvm_arch_vcpu_ioctl_get_sregs()
7074 kvm_set_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR); in kvm_arch_vcpu_ioctl_set_sregs()
/linux-4.4.14/arch/x86/include/uapi/asm/
DKbuild26 header-y += ldt.h
Dkvm.h148 struct kvm_segment tr, ldt; member
/linux-4.4.14/arch/x86/xen/
Denlighten.c543 static void xen_alloc_ldt(struct desc_struct *ldt, unsigned entries) in xen_alloc_ldt() argument
560 set_aliased_prot(ldt + i, PAGE_KERNEL_RO); in xen_alloc_ldt()
563 static void xen_free_ldt(struct desc_struct *ldt, unsigned entries) in xen_free_ldt() argument
569 set_aliased_prot(ldt + i, PAGE_KERNEL); in xen_free_ldt()
/linux-4.4.14/arch/x86/kernel/cpu/
Dperf_event.c2223 struct ldt_struct *ldt; in get_segment_base() local
2229 ldt = lockless_dereference(current->active_mm->context.ldt); in get_segment_base()
2230 if (!ldt || idx > ldt->size) in get_segment_base()
2233 desc = &ldt->entries[idx]; in get_segment_base()
/linux-4.4.14/Documentation/virtual/kvm/
Dapi.txt347 struct kvm_segment tr, ldt;