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 ;-)