/linux-master/arch/x86/purgatory/ |
H A D | setup-x86_64.S | 18 /* Load a gdt so I know what the segment registers are */ 19 lgdt gdt(%rip) 39 SYM_DATA_START_LOCAL(gdt) 42 * so use them as the gdt ptr 44 .word gdt_end - gdt - 1 45 .quad gdt 53 SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end)
|
H A D | entry64.S | 18 /* Setup a gdt that should be preserved */ 19 lgdt gdt(%rip) 84 SYM_DATA_START_LOCAL(gdt) 88 * so use them as gdt ptr 90 .word gdt_end - gdt - 1 91 .quad gdt 99 SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end)
|
/linux-master/arch/x86/boot/ |
H A D | pm.c | 83 static struct gdt_ptr gdt; local 85 gdt.len = sizeof(boot_gdt)-1; 86 gdt.ptr = (u32)&boot_gdt + (ds() << 4); 88 asm volatile("lgdtl %0" : : "m" (gdt));
|
/linux-master/drivers/firmware/efi/libstub/ |
H A D | x86-5lvl.c | 15 static const struct desc_struct gdt[] = { variable in typeref:struct:desc_struct 92 native_load_gdt(&(struct desc_ptr){ sizeof(gdt) - 1, (u64)gdt });
|
/linux-master/arch/x86/boot/compressed/ |
H A D | head_32.S | 64 leal gdt@GOTOFF(%edx), %eax 129 leal gdt@GOTOFF(%ebx), %eax 172 SYM_DATA_START_LOCAL(gdt) 173 .word gdt_end - gdt - 1 179 SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end)
|
H A D | head_64.S | 107 leal rva(gdt)(%ebp), %eax 244 /* After gdt is loaded */ 261 * the new gdt/idt that has __KERNEL_CS with CS.L = 1. 436 leaq rva(gdt)(%rbx), %rdx 597 .word gdt_end - gdt - 1 598 .quad gdt - gdt64 601 SYM_DATA_START_LOCAL(gdt) 602 .word gdt_end - gdt - 1 610 SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end)
|
/linux-master/arch/x86/include/asm/ |
H A D | desc.h | 45 struct desc_struct gdt[GDT_ENTRIES]; member in struct:gdt_page 54 return per_cpu(gdt_page, cpu).gdt; 60 return this_cpu_ptr(&gdt_page)->gdt; 66 return (struct desc_struct *)&get_cpu_entry_area(cpu)->gdt; 149 native_write_gdt_entry(struct desc_struct *gdt, int entry, const void *desc, int type) argument 156 default: size = sizeof(*gdt); break; 159 memcpy(&gdt[entry], desc, size); 257 struct desc_ptr gdt; local 262 native_store_gdt(&gdt); 269 if (gdt 295 struct desc_struct *gdt = get_cpu_gdt_rw(cpu); local [all...] |
H A D | cpu_entry_area.h | 91 char gdt[PAGE_SIZE]; member in struct:cpu_entry_area
|
/linux-master/drivers/pnp/pnpbios/ |
H A D | bioscalls.c | 58 struct desc_struct *gdt = get_cpu_gdt_rw((cpu)); \ 59 set_desc_base(&gdt[(selname) >> 3], (u32)(address)); \ 60 set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \ 480 struct desc_struct *gdt = get_cpu_gdt_rw(i); local 481 if (!gdt) 483 set_desc_base(&gdt[GDT_ENTRY_PNPBIOS_CS32], 485 set_desc_base(&gdt[GDT_ENTRY_PNPBIOS_CS16], 487 set_desc_base(&gdt[GDT_ENTRY_PNPBIOS_DS],
|
/linux-master/arch/x86/platform/pvh/ |
H A D | head.S | 57 lgdt (_pa(gdt)) 144 SYM_DATA_START_LOCAL(gdt) 148 SYM_DATA_END(gdt)
|
/linux-master/arch/x86/realmode/rm/ |
H A D | trampoline_32.S | 51 lgdtl tr_gdt # load gdt with whatever is appropriate
|
H A D | trampoline_64.S | 87 lgdtl tr_gdt # load gdt with whatever is appropriate 188 * the new gdt/idt that has __KERNEL_CS with CS.L = 1. 262 .short tr_gdt_end - tr_gdt - 1 # gdt limit 271 .short tr_gdt_end - tr_gdt - 1 # gdt limit
|
/linux-master/arch/x86/kernel/acpi/ |
H A D | wakeup_32.S | 22 # reload the gdt, as we need the full 32 bit address 31 # and restore the stack ... but you need gdt for this to work
|
/linux-master/arch/x86/hyperv/ |
H A D | hv_vtl.c | 81 struct desc_struct *gdt; local 91 gdt = (struct desc_struct *)((void *)(gdt_ptr.address)); 92 tss = (struct ldttss_desc *)(gdt + GDT_ENTRY_TSS); 93 ldt = (struct ldttss_desc *)(gdt + GDT_ENTRY_LDT);
|
/linux-master/arch/x86/xen/ |
H A D | smp_pv.c | 172 /* We've switched to the "real" per-cpu gdt, so make 231 struct desc_struct *gdt; local 243 gdt = get_cpu_gdt_rw(cpu); 261 BUG_ON((unsigned long)gdt & ~PAGE_MASK); 263 gdt_mfn = arbitrary_virt_to_mfn(gdt); 264 make_lowmem_page_readonly(gdt); 391 /* should set up a minimal gdt */
|
/linux-master/arch/x86/kernel/ |
H A D | apm_32.c | 594 struct desc_struct *gdt; local 600 gdt = get_cpu_gdt_rw(cpu); 601 save_desc_40 = gdt[0x40 / 8]; 602 gdt[0x40 / 8] = bad_bios_desc; 615 gdt[0x40 / 8] = save_desc_40; 675 struct desc_struct *gdt; local 681 gdt = get_cpu_gdt_rw(cpu); 682 save_desc_40 = gdt[0x40 / 8]; 683 gdt[0x40 / 8] = bad_bios_desc; 695 gdt[ 2226 struct desc_struct *gdt; local [all...] |
H A D | head_32.S | 279 movl %eax,%ss # after changing gdt.
|
/linux-master/arch/x86/mm/ |
H A D | fault.c | 478 static void show_ldttss(const struct desc_ptr *gdt, const char *name, u16 index) argument 489 if (offset + sizeof(struct ldttss_desc) >= gdt->size) { 494 if (copy_from_kernel_nofault(&desc, (void *)(gdt->address + offset), 556 struct desc_ptr idt, gdt; local 572 native_store_gdt(&gdt); 575 idt.address, idt.size, gdt.address, gdt.size); 578 show_ldttss(&gdt, "LDTR", ldtr); 581 show_ldttss(&gdt, "TR", tr);
|
H A D | cpu_entry_area.c | 199 cea_set_pte(&cea->gdt, get_cpu_gdt_paddr(cpu), gdt_prot);
|
/linux-master/tools/testing/selftests/kvm/lib/x86_64/ |
H A D | processor.c | 98 dtable_dump(stream, &sregs->gdt, indent + 2); 420 void *gdt = addr_gva2hva(vm, vm->gdt); local 421 struct desc64 *desc = gdt + (segp->selector >> 3) * 8; 521 if (!vm->gdt) 522 vm->gdt = __vm_vaddr_alloc_page(vm, MEM_REGION_DATA); 524 dt->base = vm->gdt; 552 kvm_setup_gdt(vm, &sregs.gdt); 1163 sregs.gdt.base = vm->gdt; [all...] |
/linux-master/drivers/virt/acrn/ |
H A D | hsm.c | 204 for (i = 0; i < ARRAY_SIZE(cpu_regs->vcpu_regs.gdt.reserved); i++) 205 if (cpu_regs->vcpu_regs.gdt.reserved[i] |
|
/linux-master/tools/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 148 struct kvm_dtable gdt, idt; member in struct:kvm_sregs 159 struct kvm_dtable gdt, idt; member in struct:kvm_sregs2
|
/linux-master/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 148 struct kvm_dtable gdt, idt; member in struct:kvm_sregs 159 struct kvm_dtable gdt, idt; member in struct:kvm_sregs2
|
/linux-master/include/uapi/linux/ |
H A D | acrn.h | 259 * @gdt: Global Descriptor Table 283 struct acrn_descriptor_ptr gdt; member in struct:acrn_regs
|
/linux-master/tools/testing/selftests/kvm/include/x86_64/ |
H A D | processor.h | 600 struct desc_ptr gdt; local 601 __asm__ __volatile__("sgdt %[gdt]" 602 : /* output */ [gdt]"=m"(gdt)); 603 return gdt;
|