[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] question about patch 13252
>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 19.03.09 15:49 >>> >On 19/03/2009 14:34, "Lu, Guanqun" <guanqun.lu@xxxxxxxxx> wrote: > >> Thanks for your reply. >> >> It makes a little sense... >> But the problem is that when we do S3, >> we execute load_TR() again (in file arch/x86/acpi/suspend.c), >> and this causes the bug. >> >> Do we need to go back to non-compat gdt_table when it resumes, and >> switch to compat_gdt_table again? There must be code clearing the B bit in the non-compat GDT already, otherwise loading of the LDTR would always have faulted. >Ah, I see. There are a few options, the easiest of which is to leave the B >bit clear in both descriptors. I'm not certain whether that actually matters >for any reason, but I think for our purposes it does not. No, that's not an option afaict: On an outgoing TSS (i.e. during a double fault) the B bit must be set iirc. >If Jan can counter my claim, then you can instead switch back to the >non-compat GDT for the LTR, or you can decide which descriptor to set B in >based on which GDT you're running on, or force the B bit in both descriptors >after the LTR, or... You have a few options. :-) Correct. I wonder why you're running on the compat GDT in the first place - is your Dom0 32-bit? If that's the case, then the clearing of the bit that must exist somewhere simply should be extended to touch the current GDT rather than the default one. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |