Lines Matching refs:gdt_base
642 static void set_seg_base(uint32_t gdt_base, int seg, uint32_t v)
644 *(uint16_t *) (gdt_base + seg + 2) = v;
645 *(uint8_t *) (gdt_base + seg + 4) = v >> 16;
646 *(uint8_t *) (gdt_base + seg + 7) = v >> 24;
651 uint32_t gdt_base;
666 gdt_base = rm_args.rm_gdt;
668 *(uint32_t *) (gdt_base + 2) = gdt_base; /* GDT self-pointer */
671 set_seg_base(gdt_base, 0x10, rm_args.rm_base);
672 set_seg_base(gdt_base, 0x18, rm_args.rm_base);
675 asm volatile ("lgdtl %0"::"m" (*(char *)gdt_base));
677 asm volatile ("lgdt %0"::"m" (*(char *)gdt_base));