search for: vmi_write_gdt

Displaying 2 results from an estimated 2 matches for "vmi_write_gdt".

2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...UT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +#define load_TR_desc() load_tr(GDT_ENTRY_TSS*8) +#define load_LDT_desc() load_ldt(GDT_ENTRY_LDT*8) + +#define store_tr(tr) do { (tr) = vmi_get_tr(); } while (0) +#define store_ldt(ldt) do { (ldt) = vmi_get_ldt(); } while (0) + +static inline void vmi_write_gdt(void *gdt, unsigned entry, u32 descLo, u32 descHi) +{ + vmi_wrap_call( + WriteGDTEntry, "movl %2, (%0,%1,8);" + "movl %3, 4(%0,%1,8);", + VMI_NO_OUTPUT, + 4, XCONC(VMI_IREG1(gdt), VMI_IREG2(entry), VMI_IREG3(descLo), VMI_IREG4(descHi)), + VMI_CLOBBER_EXTENDED(ZERO_R...
2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...UT, + VMI_CLOBBER(ONE_RETURN)); + return ret; +} + +#define load_TR_desc() load_tr(GDT_ENTRY_TSS*8) +#define load_LDT_desc() load_ldt(GDT_ENTRY_LDT*8) + +#define store_tr(tr) do { (tr) = vmi_get_tr(); } while (0) +#define store_ldt(ldt) do { (ldt) = vmi_get_ldt(); } while (0) + +static inline void vmi_write_gdt(void *gdt, unsigned entry, u32 descLo, u32 descHi) +{ + vmi_wrap_call( + WriteGDTEntry, "movl %2, (%0,%1,8);" + "movl %3, 4(%0,%1,8);", + VMI_NO_OUTPUT, + 4, XCONC(VMI_IREG1(gdt), VMI_IREG2(entry), VMI_IREG3(descLo), VMI_IREG4(descHi)), + VMI_CLOBBER_EXTENDED(ZERO_R...