Home
last modified time | relevance | path

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

12

/Linux-v4.19/arch/x86/um/
Dldt.c58 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in read_ldt() local
60 if (!ldt->entry_count) in read_ldt()
66 mutex_lock(&ldt->lock); in read_ldt()
67 if (ldt->entry_count <= LDT_DIRECT_ENTRIES) { in read_ldt()
71 if (copy_to_user(ptr, ldt->u.entries, size)) in read_ldt()
77 for (i=0; i<ldt->entry_count/LDT_ENTRIES_PER_PAGE && bytecount; in read_ldt()
82 if (copy_to_user(ptr, ldt->u.pages[i], size)) { in read_ldt()
90 mutex_unlock(&ldt->lock); in read_ldt()
123 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in write_ldt() local
147 mutex_lock(&ldt->lock); in write_ldt()
[all …]
DMakefile12 obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
/Linux-v4.19/arch/x86/kernel/
Dldt.c109 if (mm->context.ldt) { in do_sanity_check()
159 if (static_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user()
184 if (static_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user()
212 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) in map_ldt_struct() argument
227 WARN_ON(ldt->slot != -1); in map_ldt_struct()
239 is_vmalloc = is_vmalloc_addr(ldt->entries); in map_ldt_struct()
241 for (i = 0; i * PAGE_SIZE < ldt->nr_entries * LDT_ENTRY_SIZE; i++) { in map_ldt_struct()
243 const void *src = (char *)ldt->entries + offset; in map_ldt_struct()
278 ldt->slot = slot; in map_ldt_struct()
285 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) in map_ldt_struct() argument
[all …]
Dstep.c37 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear()
38 seg >= child->mm->context.ldt->nr_entries)) in convert_ip_to_linear()
41 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear()
Ddoublefault.c56 .ldt = 0,
Dprocess_64.c147 if (dead_task->mm->context.ldt) { in release_thread()
150 dead_task->mm->context.ldt->entries, in release_thread()
151 dead_task->mm->context.ldt->nr_entries); in release_thread()
DMakefile51 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o
/Linux-v4.19/arch/x86/include/asm/
Dmmu_context.h82 mm->context.ldt = NULL; in init_new_context_ldt()
102 struct ldt_struct *ldt; in load_mm_ldt() local
105 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt()
121 if (unlikely(ldt)) { in load_mm_ldt()
123 if (WARN_ON_ONCE((unsigned long)ldt->slot > 1)) { in load_mm_ldt()
139 set_ldt(ldt_slot_va(ldt->slot), ldt->nr_entries); in load_mm_ldt()
141 set_ldt(ldt->entries, ldt->nr_entries); in load_mm_ldt()
171 if (unlikely((unsigned long)prev->context.ldt | in switch_ldt()
172 (unsigned long)next->context.ldt)) in switch_ldt()
Ddesc.h118 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) argument
130 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument
134 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument
139 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) argument
146 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument
148 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry()
202 ldt_desc ldt; in native_set_ldt() local
204 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT, in native_set_ldt()
207 &ldt, DESC_LDT); in native_set_ldt()
Dsuspend_32.h28 u16 ldt; member
Dmmu.h32 struct ldt_struct *ldt; member
Dsuspend_64.h46 u16 ldt; member
Dparavirt_types.h130 void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum,
136 void (*alloc_ldt)(struct desc_struct *ldt, unsigned entries);
137 void (*free_ldt)(struct desc_struct *ldt, unsigned entries);
Dparavirt.h201 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument
203 PVOP_VCALL2(pv_cpu_ops.alloc_ldt, ldt, entries); in paravirt_alloc_ldt()
206 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument
208 PVOP_VCALL2(pv_cpu_ops.free_ldt, ldt, entries); in paravirt_free_ldt()
Dkvm_host.h1367 u16 ldt; in kvm_read_ldt() local
1368 asm("sldt %0" : "=g"(ldt)); in kvm_read_ldt()
1369 return ldt; in kvm_read_ldt()
/Linux-v4.19/arch/alpha/kernel/
Dentry.S687 ldt $f0, 64($sp) # dont let "do_switch_stack" change fp state.
706 ldt $f30, 312($sp) # get saved fpcr
707 ldt $f0, 64($sp)
708 ldt $f1, 72($sp)
709 ldt $f2, 80($sp)
710 ldt $f3, 88($sp)
712 ldt $f4, 96($sp)
713 ldt $f5, 104($sp)
714 ldt $f6, 112($sp)
715 ldt $f7, 120($sp)
[all …]
/Linux-v4.19/tools/testing/selftests/x86/
Dldt_gdt.c63 static void check_invalid_segment(uint16_t index, int ldt) in check_invalid_segment() argument
66 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_invalid_segment()
83 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment()
87 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment()
91 static void check_valid_segment(uint16_t index, int ldt, in check_valid_segment() argument
96 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_valid_segment()
113 (ldt ? "LDT" : "GDT"), index); in check_valid_segment()
127 (ldt ? "LDT" : "GDT"), index, ar, expected_ar); in check_valid_segment()
131 (ldt ? "LDT" : "GDT"), index, limit, expected_limit); in check_valid_segment()
135 (ldt ? "LDT" : "GDT"), index, ar, limit); in check_valid_segment()
[all …]
/Linux-v4.19/arch/x86/math-emu/
Dfpu_system.h31 if (current->mm->context.ldt && seg < current->mm->context.ldt->nr_entries) in FPU_get_ldt_descriptor()
32 ret = current->mm->context.ldt->entries[seg]; in FPU_get_ldt_descriptor()
/Linux-v4.19/arch/x86/lib/
Dinsn-eval.c578 struct ldt_struct *ldt; in get_desc() local
584 ldt = current->active_mm->context.ldt; in get_desc()
585 if (ldt && sel < ldt->nr_entries) in get_desc()
586 desc = &ldt->entries[sel]; in get_desc()
/Linux-v4.19/arch/x86/um/asm/
Dmm_context.h69 uml_ldt_t ldt; member
/Linux-v4.19/arch/x86/kvm/
Dtss.h57 u16 ldt; member
/Linux-v4.19/arch/x86/xen/
Denlighten_pv.c397 static void xen_alloc_ldt(struct desc_struct *ldt, unsigned entries) in xen_alloc_ldt() argument
414 set_aliased_prot(ldt + i, PAGE_KERNEL_RO); in xen_alloc_ldt()
417 static void xen_free_ldt(struct desc_struct *ldt, unsigned entries) in xen_free_ldt() argument
423 set_aliased_prot(ldt + i, PAGE_KERNEL); in xen_free_ldt()
/Linux-v4.19/arch/x86/events/
Dcore.c2377 struct ldt_struct *ldt; in get_segment_base() local
2380 ldt = READ_ONCE(current->active_mm->context.ldt); in get_segment_base()
2381 if (!ldt || idx >= ldt->nr_entries) in get_segment_base()
2384 desc = &ldt->entries[idx]; in get_segment_base()
/Linux-v4.19/arch/x86/include/uapi/asm/
Dkvm.h152 struct kvm_segment tr, ldt; member
/Linux-v4.19/tools/arch/x86/include/uapi/asm/
Dkvm.h152 struct kvm_segment tr, ldt; member

12