GDT_ENTRY_TSS
memcpy(&tss, &desc[GDT_ENTRY_TSS], sizeof(tss_desc));
write_gdt_entry(desc, GDT_ENTRY_TSS, &tss, DESC_TSS);
tss = (struct ldttss_desc *)(gdt + GDT_ENTRY_TSS);
input->vp_context.tr.selector = GDT_ENTRY_TSS * 8;
#define set_tss_desc(cpu, addr) __set_tss_desc(cpu, GDT_ENTRY_TSS, addr)
asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8));
asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8));
memcpy(&tss, &d[GDT_ENTRY_TSS], sizeof(tss_desc));
write_gdt_entry(d, GDT_ENTRY_TSS, &tss, DESC_TSS);
dummy_value = GDT_ENTRY_TSS * 8;
vmcs_write16(HOST_TR_SELECTOR, GDT_ENTRY_TSS*8); /* 22.2.4 */
memcpy(&tss, &desc[GDT_ENTRY_TSS], sizeof(tss_desc));
write_gdt_entry(desc, GDT_ENTRY_TSS, &tss, DESC_TSS);