Home | History | Annotate | Download | only in m_syswrap

Lines Matching refs:gdt

250       that the child inherits a copy of the parent's GDT.  
351 LDT/GDT simulation
460 /* Create a zeroed-out GDT. */
474 /* Free up an LDT or GDT allocated by the above fns. */
510 "ldt = 0x%lx, gdt = 0x%lx\n",
648 VexGuestX86SegDescr* gdt;
656 gdt = (VexGuestX86SegDescr*)VG_(threads)[tid].arch.vex.guest_GDT;
658 /* If the thread doesn't have a GDT, allocate it now. */
659 if (!gdt) {
660 gdt = alloc_zeroed_x86_GDT();
661 VG_(threads)[tid].arch.vex.guest_GDT = (HWord)gdt;
672 if (gdt[idx].LdtEnt.Words.word1 == 0
673 && gdt[idx].LdtEnt.Words.word2 == 0)
680 /* Similarly, reject attempts to use GDT[0]. */
684 translate_to_hw_format(info, &gdt[idx], 0);
700 VexGuestX86SegDescr* gdt;
713 gdt = (VexGuestX86SegDescr*)VG_(threads)[tid].arch.vex.guest_GDT;
715 /* If the thread doesn't have a GDT, allocate it now. */
716 if (!gdt) {
717 gdt = alloc_zeroed_x86_GDT();
718 VG_(threads)[tid].arch.vex.guest_GDT = (HWord)gdt;
721 info->base_addr = ( gdt[idx].LdtEnt.Bits.BaseHi << 24 ) |
722 ( gdt[idx].LdtEnt.Bits.BaseMid << 16 ) |
723 gdt[idx].LdtEnt.Bits.BaseLow;
724 info->limit = ( gdt[idx].LdtEnt.Bits.LimitHi << 16 ) |
725 gdt[idx].LdtEnt.Bits.LimitLow;
726 info->seg_32bit = gdt[idx].LdtEnt.Bits.Default_Big;
727 info->contents = ( gdt[idx].LdtEnt.Bits.Type >> 2 ) & 0x3;
728 info->read_exec_only = ( gdt[idx].LdtEnt.Bits.Type & 0x1 ) ^ 0x1;
729 info->limit_in_pages = gdt[idx].LdtEnt.Bits.Granularity;
730 info->seg_not_present = gdt[idx].LdtEnt.Bits.Pres ^ 0x1;
731 info->useable = gdt[idx].LdtEnt.Bits.Sys;
744 /* On x86, we have to dump the LDT and GDT. */
769 /* Either we start with an empty GDT (the usual case) or inherit a