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/
Home Products Support Community News


[Xen-devel] [PATCH] Fix the RHEL4 guest hang

To: <Keir.Fraser@xxxxxxxxxxxx>, "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] Fix the RHEL4 guest hang
From: "Kamble, Nitin A" <nitin.a.kamble@xxxxxxxxx>
Date: Thu, 4 May 2006 20:17:14 -0700
Cc: "Mallick, Asit K" <asit.k.mallick@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Delivery-date: Thu, 04 May 2006 20:17:42 -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: AcZv8mer3tYIG52oSASTp7KFfEYjgQ==
Thread-topic: [PATCH] Fix the RHEL4 guest hang
Hi Keir, Ian,
   The RHEL4 HVM guest hang issue was actually a side effect of
change-set 9699. In the rhel4 guest hang rc.sysinit init-script was
calls kmodule program to probe the hardware. The kmodule uses the kudzu
library call probeDevices(). For probing the graphics hardware in the
vbe_get_mode_info() function, sets up the environment and goes into the
vm86 mode to do the int x10 call. For returning back to protected mode
it sets up a int 0xff call. At the time of calling the int 0xff the
guest process pages were not filled up. And it was causing an infinite
loop of vmexits with the IDT_VECTORING_INFO on the int 0xff instruction.

        The reason for the infinite loop is changeset 9699. With that
the guest page fault was always getting overridden by the int 0xff gp
fault coming from the IDT_VECTORING_INFO. With the attached patch if VMM
is injecting exceptions like page faults or gp faults then
IDT_VECTORING_INFO field does not override it, and that breaks the
vmexit infinite loop for the rhel4.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@xxxxxxxxx>
Signed-Off-By: Jun Nakajima <jun.nakajima@xxxxxxxxx>
Signed-Off-By: Edwin Zhai <edwin.zhai@xxxxxxxxx>

 arch/x86/hvm/vmx/io.c          |   23 +++++++++++++++--------
 include/asm-x86/hvm/vmx/vmcs.h |    1 +
 include/asm-x86/hvm/vmx/vmx.h  |    1 +
 3 files changed, 17 insertions(+), 8 deletions(-)

Thanks & Regards,
Open Source Technology Center, Intel Corp

Attachment: rhel4_fix_3.patch
Description: rhel4_fix_3.patch

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>