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] Testing status of HVM (Intel VT) on 64bit XENunstable c/

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Ed Smith" <esmith@xxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Testing status of HVM (Intel VT) on 64bit XENunstable c/s 11616
From: "Li, Xin B" <xin.b.li@xxxxxxxxx>
Date: Wed, 27 Sep 2006 21:09:25 +0800
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Steven Hand <Steven.Hand@xxxxxxxxxxxx>
Delivery-date: Wed, 27 Sep 2006 06:09:59 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbiF2MEoV3sok4KEdunpAAX8io7RQAGSdMgAADHB8QAAGcR8A==
Thread-topic: [Xen-devel] Testing status of HVM (Intel VT) on 64bit XENunstable c/s 11616
>
>>> 11626 has a possible fix for this and at least will print out
>>> some more info
>>> (even on production builds ;-) if the MSR_EFER write fails.
>>> 
>> 
>> Can't understand your patch, can you explain more?
>> And why it's a possible fix?
>
>long_mode_do_msr_write() was not taking just the low 32 bits 
>of EAX to form
>the 64-bit MSR value. If the high 32 bits of RAX had garbage 
>then this would
>lead to garbage in the MSR value.
>

My log shows that even in the lower 32 bit of eax, there is still some
garbage value, eax is 0000000000101901, 901 is what we need, but 101 is
garbage, also edx is garbage, should be all 0.

(XEN) trying to set reserved bit in EFER
(XEN) domain_crash_sync called from vmx.c:2268
(XEN) Domain 10 (vcpu#0) crashed on cpu#2:
(XEN) ----[ Xen-3.0-unstable  x86_64  debug=n  Not tainted ]----
(XEN) CPU:    2
(XEN) RIP:    0010:[<000000000010005e>]
(XEN) RFLAGS: 0000000000010046   CONTEXT: hvm
(XEN) rax: 0000000000101901   rbx: 0000000000000000   rcx:
00000000c0000080
(XEN) rdx: 0000000020100800   rsi: 0000000000090000   rdi:
0000000020100800
(XEN) rbp: 0000000000000000   rsp: 00000000001010c0   r8:
0000000000000000
(XEN) r9:  0000000000000000   r10: 0000000000000000   r11:
0000000000000000
(XEN) r12: 0000000000000000   r13: 0000000000000000   r14:
0000000000000000
(XEN) r15: 0000000000000000   cr0: 0000000000050031   cr4:
00000000000000a0
(XEN) cr3: 00000000001a17a0   cr2: 0000000000000000
(XEN) ds: 0018   es: 0018   fs: 0018   gs: 0018   ss: 0018   cs: 0010

I suspect it's a gcc version related issue, when using gcc 3.4.3, it's
OK, while gcc 4.1.0, we got the error.

-Xin

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