I've integrated patches from Chris and Martin into the -mm tree. I'll be sending out the patches shortly after testing with my (still in progress!) Linux LDT test suite. First interface quirk came up. It looks like Xen wants to return errors from hypercalls: +static inline int install_ldt_entry (__u32 *lp, __u32 entry_1, __u32 entry_2) +{ + unsigned long mach_lp = arbitrary_virt_to_machine(lp); + + return HYPERVISOR_update_descriptor(mach_lp, entry_1, entry_2); +} While this is fine here, this could be problematic in terms of forcing error checking in lots of situations where there used to be no error checking in regular Linux - i.e. GDT updates which fail really are fatal to the guest, and we don't want to pepper the boot-up code with error checking where there used to be none. Also, there is the problem of mapping error codes from the hypervisor onto error codes for the guest - which could be quite different in different guests. One general approach to this is to consider errors as faults to be delivered to the guest, since in many cases, errors result from protection violation attempts. This has the benefit of not presenting the two problems I just mentioned. For now, the most expedient approach appears to be to preserve the error code values, but the mapping issue seems to be a large one that needs long term resolution. Zach