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