On Tue, May 09, 2006 at 07:49:54AM -0700, Martin J. Bligh wrote: > >+static inline void load_TLS(struct thread_struct *t, unsigned int cpu) > >+{ > >+#define C(i) > >HYPERVISOR_update_descriptor(virt_to_machine(&get_cpu_gdt_table(cpu)[GDT_ENTRY_TLS_MIN + i]), *(u64 *)&t->tls_array[i]) > >+ C(0); C(1); C(2); > >+#undef C > >+} > > Please just expand this or make it a real function call (static inline), > not a temporary macro .. Yes, I've added an inline function to do a single descriptor. Should I change the non-xen case as well? It was the inspiration for this code ;-) christian