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...