Home
last modified time | relevance | path

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

/linux/arch/x86/kernel/
H A Dldt.c44 struct ldt_struct *ldt; in load_mm_ldt() local
47 ldt = READ_ONCE(mm->context.ldt); 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()
81 set_ldt(ldt_slot_va(ldt->slot), ldt->nr_entries); in load_mm_ldt()
83 set_ldt(ldt->entries, ldt->nr_entries); in load_mm_ldt()
109 if (unlikely((unsigned long)prev->context.ldt | in switch_ldt()
110 (unsigned long)next->context.ldt)) in switch_ldt()
193 if (mm->context.ldt) { in do_sanity_check()
243 if (boot_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user()
[all …]
H A Dstep.c39 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear()
40 seg >= child->mm->context.ldt->nr_entries)) in convert_ip_to_linear()
43 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear()
H A Ddoublefault_32.c91 .ldt = 0,
H A DMakefile73 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o
/linux/arch/x86/include/asm/
H A Ddesc.h114 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) argument
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)) argument
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
200 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT, in native_set_ldt()
203 &ldt, DESC_LDT); in native_set_ldt()
H A Dprocessor.h308 unsigned short ldt, __ldth;
307 unsigned short ldt, __ldth; global() member
H A Dkvm_host.h2405 u16 ldt;
2406 asm("sldt %0" : "=g"(ldt));
2407 return ldt;
2381 u16 ldt; kvm_read_ldt() local
/linux/arch/x86/hyperv/
H A Dhv_vtl.c145 struct ldttss_desc *ldt; in hv_vtl_bringup_vcpu()
160 ldt = (struct ldttss_desc *)(gdt + GDT_ENTRY_LDT); in hv_vtl_bringup_vcpu()
211 input->vp_context.ldtr.base = hv_vtl_system_desc_base(ldt); in hv_vtl_bringup_vcpu()
212 input->vp_context.ldtr.limit = hv_vtl_system_desc_limit(ldt); in hv_vtl_bringup_vcpu()
122 struct ldttss_desc *ldt; hv_vtl_bringup_vcpu() local
/linux/arch/x86/kvm/
H A Dtss.h57 u16 ldt; member
H A Demulate.c2652 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
2676 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
2688 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
2749 /* CR3 and ldt selector are not saved intentionally */ in save_state_to_tss32()
H A Dx86.c12186 kvm_get_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR);
12447 kvm_set_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR); in kvm_is_valid_sregs()
/linux/arch/x86/xen/
H A Denlighten_pv.c498 static void xen_alloc_ldt(struct desc_struct *ldt, unsigned entries) in set_aliased_prot()
515 set_aliased_prot(ldt + i, PAGE_KERNEL_RO); in xen_alloc_ldt()
518 static void xen_free_ldt(struct desc_struct *ldt, unsigned entries) in xen_alloc_ldt()
524 set_aliased_prot(ldt + i, PAGE_KERNEL); in xen_free_ldt() argument
504 xen_alloc_ldt(struct desc_struct * ldt,unsigned entries) xen_alloc_ldt() argument
/linux/arch/x86/include/uapi/asm/
H A Dkvm.h153 struct kvm_segment tr, ldt; member
164 struct kvm_segment tr, ldt; member
/linux/tools/arch/x86/include/uapi/asm/
H A Dkvm.h153 struct kvm_segment tr, ldt; member
164 struct kvm_segment tr, ldt; member
/linux/arch/x86/events/
H A Dcore.c45 #include <asm/ldt.h>
2894 struct ldt_struct *ldt; in get_segment_base() local
2904 ldt = smp_load_acquire(&current->mm->context.ldt); in get_segment_base()
2905 if (!ldt || idx >= ldt->nr_entries) in get_segment_base()
2908 desc = &ldt->entries[idx]; in get_segment_base()
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dprocessor.c133 segment_dump(stream, &sregs->ldt, indent + 2); in sregs_dump()
664 kvm_seg_set_unusable(&sregs.ldt); in vcpu_init_sregs()
/linux/Documentation/virt/kvm/
H A Dapi.rst489 struct kvm_segment tr, ldt;
5886 struct kvm_segment tr, ldt;