WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] switch out of 32e mode issue

To: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] switch out of 32e mode issue
From: "Zhai, Edwin" <edwin.zhai@xxxxxxxxx>
Date: Tue, 3 Jul 2007 17:48:25 +0800
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, "Zhai, Edwin" <edwin.zhai@xxxxxxxxx>
Delivery-date: Tue, 03 Jul 2007 02:52:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1183453757.30635.98.camel@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20070703065148.GD20797@xxxxxxxxxxxxxxxxxxxxxx> <1183453757.30635.98.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.11
On Tue, Jul 03, 2007 at 10:09:17AM +0100, Ian Campbell wrote:
> On Tue, 2007-07-03 at 14:51 +0800, Zhai, Edwin wrote:
> > Ian,
> > 
> > I have read the your changeset 13830
> 
> That was me rather than Ian P.

Really sorry for it:)

> 
> I was simply following the procedure described in vol3 of the software
> developers manual "Switching out of ia-32e mode operation" (section
> 9.8.5.4 in my slightly old copy).
> 
> I presume you are seeing the GP when you try and write to CR0 with PG
> cleared. Without seeing the code I'd guess the GP is most likely because
> you aren't actually in compatibility mode. Did Xen print any debug info

I have switched to 0xe038 code seg. compatibility mode is only decided by the 
"L" in the seg descr, right?

> before the panic, such as current register state?

I attached log in the end.

> 
> Another possibility is that EIP isn't really an identity mapped page.
> Depending on the version of Xen you are using you would have to deal
> with the physical relocation which is performed at boot time, for
> example. I'm not sure that wouldn't cause an invalid op rather than GPF
> though.

This changeset is pretty old (maybe r14422) without relocation.

BTW, How to use kexec to trigger your code? Do I need a patched kexec? I want 
to 
get some clue by running the code.

=================================================================
(XEN) ----[ Xen-3.0-unstable  x86_64  debug=n  Not tainted ]----
(XEN) CPU:    0
(XEN) RIP:    e038:[<0000000000100119>] ???
(XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor
(XEN) rax: 000000000005003b   rbx: ffff830000000000   rcx: 0000000000000e3b
(XEN) rdx: ffff830000fec080   rsi: 000000000000000a   rdi: ffff8300001edab0
(XEN) rbp: 0000000000000001   rsp: ffff8300001dfe60   r8:  0000000000000002
(XEN) r9:  0000000000000000   r10: 0000000000000001   r11: 0000000000000202
(XEN) r12: 0000000000000001   r13: 000000000000000a   r14: 0000000000000008
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000026f0
(XEN) cr3: 0000000000103000   cr2: 0000003276bbd800
(XEN) ds: e010   es: e010   fs: e010   gs: e010   ss: e010   cs: e038
(XEN) Xen stack trace from rsp=ffff8300001dfe60:
(XEN)    ffff830000138b89 ffffffff80000a2e ffff8300001be080 0000000000000001
(XEN)    0000000001234567 00000000fee1dead 0000000000000008 0000000000000000
(XEN)    ffff830000138e13 01ff830000213c98 ffff830000107f9a efff8300001bb180
(XEN)    0000000000000000 ffff88001591be18 ffff830000118270 90ef66fff9e123e8
(XEN)    00000001f9e16be9 0000000100000001 ffff830000fec080 ffff88001591bc18
(XEN)    0000000000004093 0000000000000002 ffff830000fec080 ffff88001591be18
(XEN)    ffff830000178102 0000000000000000 0000000000000008 00000000fee1dead
(XEN)    0000000001234567 ffff88001591be18 0000000000000000 0000000000000202
(XEN)    ffff88001591bd58 0000000000000002 0000000000000000 000000000000001d
(XEN)    ffffffff802063aa 0000000000000000 ffff88001591be14 0000000000000002
(XEN)    0000010000000000 ffffffff802063aa 000000000000e033 0000000000000202
(XEN)    ffff88001591bdf0 000000000000e02b 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 ffff830000fec080
(XEN) Xen call trace:
(XEN)    [<0000000000100119>] ???
(XEN)    [<ffff830000138b89>] machine_teardown+0x79/0x2d0
(XEN)    [<ffff830000138e13>] machine_restart+0x13/0x20
(XEN)    [<ffff830000107f9a>] domain_shutdown+0x1a/0x70
(XEN)    [<ffff830000118270>] do_sched_op+0x100/0x210
(XEN)    [<ffff830000178102>] syscall_enter+0x62/0x67
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) GENERAL PROTECTION FAULT
(XEN) [error_code=0000]
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...

Thanks,



-- 
best rgds,
edwin

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