Home
last modified time | relevance | path

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

123

/openbmc/linux/arch/x86/um/
H A Dldt.c60 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in read_ldt() local
62 if (!ldt->entry_count) in read_ldt()
68 mutex_lock(&ldt->lock); in read_ldt()
125 uml_ldt_t *ldt = &current->mm->context.arch.ldt; in write_ldt() local
149 mutex_lock(&ldt->lock); in write_ldt()
175 memcpy(ldt->u.pages[0]+1, ldt->u.entries+1, in write_ldt()
255 if (ldt == NULL) { in ldt_get_host_info()
273 if (ldt[i].a != 0 || ldt[i].b != 0) in ldt_get_host_info()
291 if (ldt[i].a != 0 || ldt[i].b != 0) in ldt_get_host_info()
339 memcpy(new_mm->arch.ldt.u.entries, from_mm->arch.ldt.u.entries, in init_new_ldt()
[all …]
H A DMakefile12 obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
/openbmc/linux/arch/x86/kernel/
H A Dldt.c47 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt()
63 if (unlikely(ldt)) { 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()
354 if (!ldt) in unmap_ldt_struct()
418 paravirt_alloc_ldt(ldt->entries, ldt->nr_entries); in finalize_ldt_struct()
426 smp_store_release(&mm->context.ldt, ldt); in install_ldt()
439 paravirt_free_ldt(ldt->entries, ldt->nr_entries); in free_ldt_struct()
444 kfree(ldt); in free_ldt_struct()
607 memset(&ldt, 0, sizeof(ldt)); in write_ldt()
[all …]
H A 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()
H A Dprocess_64.c409 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()
H A Ddoublefault_32.c91 .ldt = 0,
/openbmc/qemu/tests/tcg/i386/
H A Dtest-i386.c1304 ldt.seg_32bit = 1; in test_segs()
1309 ldt.useable = 1; in test_segs()
1310 modify_ldt(1, &ldt, sizeof(ldt)); /* write ldt entry */ in test_segs()
1315 ldt.seg_32bit = 1; in test_segs()
1320 ldt.useable = 1; in test_segs()
1321 modify_ldt(1, &ldt, sizeof(ldt)); /* write ldt entry */ in test_segs()
1401 ldt.seg_32bit = 0; in test_code16()
1406 ldt.useable = 1; in test_code16()
1407 modify_ldt(1, &ldt, sizeof(ldt)); /* write ldt entry */ in test_code16()
1810 ldt.useable = 1; in test_exceptions()
[all …]
/openbmc/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 Dsuspend_32.h20 u16 ldt; member
H A Dsuspend_64.h49 u16 ldt; member
H A Dmmu.h42 struct ldt_struct *ldt; member
H A Dparavirt_types.h81 void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum,
87 void (*alloc_ldt)(struct desc_struct *ldt, unsigned entries);
88 void (*free_ldt)(struct desc_struct *ldt, unsigned entries);
H A Dparavirt.h266 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument
268 PVOP_VCALL2(cpu.alloc_ldt, ldt, entries); in paravirt_alloc_ldt()
271 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument
273 PVOP_VCALL2(cpu.free_ldt, ldt, entries); in paravirt_free_ldt()
/openbmc/qemu/target/i386/tcg/sysemu/
H A Dsmm_helper.c69 x86_stw_phys(cs, sm_state + 0x7e70, env->ldt.selector); in do_smm_enter()
70 x86_stq_phys(cs, sm_state + 0x7e78, env->ldt.base); in do_smm_enter()
71 x86_stl_phys(cs, sm_state + 0x7e74, env->ldt.limit); in do_smm_enter()
131 x86_stl_phys(cs, sm_state + 0x7fc0, env->ldt.selector); in do_smm_enter()
132 x86_stl_phys(cs, sm_state + 0x7f80, env->ldt.base); in do_smm_enter()
133 x86_stl_phys(cs, sm_state + 0x7f7c, env->ldt.limit); in do_smm_enter()
209 env->ldt.selector = x86_lduw_phys(cs, sm_state + 0x7e70); in helper_rsm()
210 env->ldt.base = x86_ldq_phys(cs, sm_state + 0x7e78); in helper_rsm()
211 env->ldt.limit = x86_ldl_phys(cs, sm_state + 0x7e74); in helper_rsm()
280 env->ldt.base = x86_ldl_phys(cs, sm_state + 0x7f80); in helper_rsm()
[all …]
/openbmc/linux/tools/testing/selftests/x86/
H A Dldt_gdt.c66 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()
135 (ldt ? "LDT" : "GDT"), index, ar, limit); in check_valid_segment()
140 bool oldmode, bool ldt) in install_valid_mode() argument
145 if (!ldt) { in install_valid_mode()
177 ldt ? "modify_ldt" : "set_thread_area", in install_valid_mode()
[all …]
/openbmc/linux/arch/x86/math-emu/
H A 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()
/openbmc/linux/arch/x86/hyperv/
H A Dhv_vtl.c79 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()
/openbmc/linux/arch/x86/lib/
H A Dinsn-eval.c629 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()
/openbmc/linux/arch/x86/um/asm/
H A Dmm_context.h67 uml_ldt_t ldt; member
/openbmc/qemu/contrib/elf2dmp/
H A Dqemu_elf.h27 QEMUCPUSegment ldt, tr, gdt, idt; member
/openbmc/linux/arch/x86/kvm/
H A Dtss.h57 u16 ldt; member
/openbmc/qemu/target/i386/hvf/
H A Dx86_task.c79 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->ldt}}, R_LDTR); in load_state_from_tss32()
94 uint32_t ldt_sel_offset = offsetof(struct x86_tss_segment32, ldt); in task_switch_32()
/openbmc/qemu/target/i386/tcg/
H A Dseg_helper.c141 dt = &env->ldt; in load_segment_ra()
534 env->ldt.selector = new_ldt & ~4; in switch_tss_ra()
535 env->ldt.base = 0; in switch_tss_ra()
536 env->ldt.limit = 0; in switch_tss_ra()
537 env->ldt.flags = 0; in switch_tss_ra()
559 load_seg_cache_raw_dt(&env->ldt, e1, e2); in switch_tss_ra()
1256 env->ldt.base = 0; in helper_lldt()
1257 env->ldt.limit = 0; in helper_lldt()
1290 env->ldt.base |= (target_ulong)e3 << 32; in helper_lldt()
1297 env->ldt.selector = selector; in helper_lldt()
[all …]
/openbmc/linux/tools/arch/x86/include/uapi/asm/
H A Dkvm.h147 struct kvm_segment tr, ldt; member
158 struct kvm_segment tr, ldt; member
/openbmc/linux/arch/x86/include/uapi/asm/
H A Dkvm.h147 struct kvm_segment tr, ldt; member
158 struct kvm_segment tr, ldt; member

123