From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: question about patch 13252 Date: Thu, 19 Mar 2009 14:49:55 +0000 Message-ID: References: <8FED46E8A9CA574792FC7AACAC38FE7701CB8168B7@PDSMSX501.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <8FED46E8A9CA574792FC7AACAC38FE7701CB8168B7@PDSMSX501.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Lu, Guanqun" , "jbeulich@novell.com" Cc: =?GB2312?B?eGVuLWRldmVs1+k=?= List-Id: xen-devel@lists.xenproject.org On 19/03/2009 14:34, "Lu, Guanqun" 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? 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. 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. :-) -- Keir