[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] question about patch 13252



On Thursday, March 19, 2009 10:23 PM Keir Fraser wrote:

> On 19/03/2009 14:07, "Lu, Guanqun" <guanqun.lu@xxxxxxxxx> wrote:
> 
>> I have such question about the number 11, 11 is 1010 in binary
>> format, 
> 
> Try again. :D

Typo, it seems my fingers have their own thoughts...

> 
>> which means that the busy flat is set.  Then later, load_TR() is
>> called. load_TR() is a wrapper around instruction 'ltr'.  As I
>> consult SDM2A, it says that ltr will generate #GP, when the busy
>> flag is set. 
>> 
>> So I'm a little puzzled. Can you explain a little why it's not 9 ?
>> Or am I missing something here?
> 
> We only execute LTR once at start of day for each CPU. This is done
> while running on the non-compat gdt_table. When we switch to
> compat_gdt_table we do not do any LTR switch. I suppose Jan sets the
> busy bit to match what will be in the non-compat table after we have
> executed our one-off LTR. 
> 
>  -- Keir

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?

-- 
Guanqun
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.