/kernel/linux/linux-5.10/arch/x86/um/ |
H A D | ldt.c | 45 * In skas mode, we hold our own ldt data in UML. 48 * for arch/i386/kernel/ldt.c 60 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in read_ldt() local 62 if (!ldt->entry_count) in read_ldt() 68 mutex_lock(&ldt->lock); in read_ldt() 69 if (ldt->entry_count <= LDT_DIRECT_ENTRIES) { in read_ldt() 73 if (copy_to_user(ptr, ldt->u.entries, size)) in read_ldt() 79 for (i=0; i<ldt->entry_count/LDT_ENTRIES_PER_PAGE && bytecount; in read_ldt() 84 if (copy_to_user(ptr, ldt in read_ldt() 125 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; write_ldt() local 236 struct ldt_entry * ldt; ldt_get_host_info() local [all...] |
/kernel/linux/linux-6.6/arch/x86/um/ |
H A D | ldt.c | 45 * In skas mode, we hold our own ldt data in UML. 48 * for arch/i386/kernel/ldt.c 60 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in read_ldt() local 62 if (!ldt->entry_count) in read_ldt() 68 mutex_lock(&ldt->lock); in read_ldt() 69 if (ldt->entry_count <= LDT_DIRECT_ENTRIES) { in read_ldt() 73 if (copy_to_user(ptr, ldt->u.entries, size)) in read_ldt() 79 for (i=0; i<ldt->entry_count/LDT_ENTRIES_PER_PAGE && bytecount; in read_ldt() 84 if (copy_to_user(ptr, ldt in read_ldt() 125 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; write_ldt() local 236 struct ldt_entry * ldt; ldt_get_host_info() local [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | ldt.c | 26 #include <asm/ldt.h> 44 struct ldt_struct *ldt; in load_mm_ldt() local 47 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt() 50 * Any change to mm->context.ldt is followed by an IPI to all in load_mm_ldt() 63 if (unlikely(ldt)) { in load_mm_ldt() 65 if (WARN_ON_ONCE((unsigned long)ldt->slot > 1)) { in load_mm_ldt() 76 * If page table isolation is enabled, ldt->entries in load_mm_ldt() 79 * at ldt_slot_va(ldt->slot). in load_mm_ldt() 81 set_ldt(ldt_slot_va(ldt in load_mm_ldt() 288 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) map_ldt_struct() argument 349 unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt) unmap_ldt_struct() argument 381 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) map_ldt_struct() argument 386 unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt) unmap_ldt_struct() argument 408 finalize_ldt_struct(struct ldt_struct *ldt) finalize_ldt_struct() argument 413 install_ldt(struct mm_struct *mm, struct ldt_struct *ldt) install_ldt() argument 426 free_ldt_struct(struct ldt_struct *ldt) free_ldt_struct() argument 576 struct desc_struct ldt; write_ldt() local [all...] |
H A D | step.c | 37 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()
|
H A D | process_64.c | 384 struct ldt_struct *ldt; in x86_fsgsbase_read_task() local 392 ldt = task->mm->context.ldt; in x86_fsgsbase_read_task() 393 if (unlikely(!ldt || idx >= ldt->nr_entries)) in x86_fsgsbase_read_task() 396 base = get_desc_base(ldt->entries + idx); in x86_fsgsbase_read_task()
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | ldt.c | 26 #include <asm/ldt.h> 44 struct ldt_struct *ldt; in load_mm_ldt() local 47 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt() 50 * Any change to mm->context.ldt is followed by an IPI to all in load_mm_ldt() 63 if (unlikely(ldt)) { in load_mm_ldt() 65 if (WARN_ON_ONCE((unsigned long)ldt->slot > 1)) { in load_mm_ldt() 76 * If page table isolation is enabled, ldt->entries in load_mm_ldt() 79 * at ldt_slot_va(ldt->slot). in load_mm_ldt() 81 set_ldt(ldt_slot_va(ldt in load_mm_ldt() 288 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) map_ldt_struct() argument 349 unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt) unmap_ldt_struct() argument 383 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) map_ldt_struct() argument 388 unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt) unmap_ldt_struct() argument 416 finalize_ldt_struct(struct ldt_struct *ldt) finalize_ldt_struct() argument 421 install_ldt(struct mm_struct *mm, struct ldt_struct *ldt) install_ldt() argument 434 free_ldt_struct(struct ldt_struct *ldt) free_ldt_struct() argument 584 struct desc_struct ldt; write_ldt() local [all...] |
H A D | step.c | 37 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()
|
H A D | process_64.c | 409 struct ldt_struct *ldt; in x86_fsgsbase_read_task() local 417 ldt = task->mm->context.ldt; in x86_fsgsbase_read_task() 418 if (unlikely(!ldt || idx >= ldt->nr_entries)) in x86_fsgsbase_read_task() 421 base = get_desc_base(ldt->entries + idx); in x86_fsgsbase_read_task()
|
/kernel/linux/linux-5.10/arch/alpha/kernel/ |
H A D | entry.S | 691 ldt $f0, 64($sp) # dont let "do_switch_stack" change fp state. 710 ldt $f30, 312($sp) # get saved fpcr 711 ldt $f0, 64($sp) 712 ldt $f1, 72($sp) 713 ldt $f2, 80($sp) 714 ldt $f3, 88($sp) 716 ldt $f4, 96($sp) 717 ldt $f5, 104($sp) 718 ldt $f6, 112($sp) 719 ldt [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | desc.h | 6 #include <asm/ldt.h> 113 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) 125 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 129 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 134 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) 141 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument 143 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry() 197 ldt_desc ldt; in native_set_ldt() local 202 &ldt, DESC_LDT); native_set_ldt() local [all...] |
H A D | proto.h | 5 #include <asm/ldt.h>
|
H A D | suspend_32.h | 27 u16 ldt; member
|
/kernel/linux/linux-5.10/tools/testing/selftests/x86/ |
H A D | ldt_gdt.c | 18 #include <asm/ldt.h> 63 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 in check_valid_segment() 139 install_valid_mode(const struct user_desc *d, uint32_t ar, bool oldmode, bool ldt) install_valid_mode() argument [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/x86/ |
H A D | ldt_gdt.c | 18 #include <asm/ldt.h> 63 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 in check_valid_segment() 139 install_valid_mode(const struct user_desc *d, uint32_t ar, bool oldmode, bool ldt) install_valid_mode() argument [all...] |
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | desc.h | 6 #include <asm/ldt.h> 114 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) 126 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 130 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 135 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) 142 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument 144 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry() 198 ldt_desc ldt; in native_set_ldt() local 203 &ldt, DESC_LDT); native_set_ldt() local [all...] |
H A D | proto.h | 5 #include <asm/ldt.h>
|
H A D | suspend_32.h | 25 u16 ldt; member
|
/kernel/linux/linux-5.10/arch/x86/math-emu/ |
H A D | fpu_system.h | 31 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()
|
/kernel/linux/linux-6.6/arch/x86/math-emu/ |
H A D | fpu_system.h | 31 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()
|
/kernel/linux/linux-6.6/arch/x86/hyperv/ |
H A D | hv_vtl.c | 79 struct ldttss_desc *ldt; in hv_vtl_bringup_vcpu() local 92 ldt = (struct ldttss_desc *)(gdt + GDT_ENTRY_LDT); in hv_vtl_bringup_vcpu() 143 input->vp_context.ldtr.base = hv_vtl_system_desc_base(ldt); in hv_vtl_bringup_vcpu() 144 input->vp_context.ldtr.limit = hv_vtl_system_desc_limit(ldt); in hv_vtl_bringup_vcpu()
|
/kernel/linux/linux-5.10/arch/x86/um/asm/ |
H A D | mm_context.h | 12 #include <asm/ldt.h> 69 uml_ldt_t ldt; member
|
H A D | processor_32.h | 11 #include <asm/ldt.h>
|
/kernel/linux/linux-6.6/arch/x86/um/asm/ |
H A D | mm_context.h | 12 #include <asm/ldt.h> 67 uml_ldt_t ldt; member
|
/kernel/linux/linux-5.10/arch/x86/lib/ |
H A D | insn-eval.c | 15 #include <asm/ldt.h> 611 struct ldt_struct *ldt; in get_desc() local 617 ldt = current->active_mm->context.ldt; in get_desc() 618 if (ldt && sel < ldt->nr_entries) { in get_desc() 619 *out = ldt->entries[sel]; in get_desc()
|
/kernel/linux/linux-6.6/arch/x86/lib/ |
H A D | insn-eval.c | 15 #include <asm/ldt.h> 629 struct ldt_struct *ldt; in get_desc() local 635 ldt = current->active_mm->context.ldt; in get_desc() 636 if (ldt && sel < ldt->nr_entries) { in get_desc() 637 *out = ldt->entries[sel]; in get_desc()
|