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

[Xen-changelog] [xen-unstable] [IA64] Check CPL for break 0x80001 case



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 76d379e3f1d786858e4b8d34175f95e55ab1d8fa
# Parent  49ab12a04d16ec157e0f910f8417e5ed944c4e9d
[IA64] Check CPL for break 0x80001 case

This is a patch which intends for fixing ltrace problem.  When I
execute a command "ltrace ps" on dom0, it makes dom0 hung.  It comes
from "break 0x80001" is shared by ltrace(CPL=3) and hpsim(CPL=2).
To avoid this problem, I just add check CPL in ia64_break_fault code.

Signed-off-by: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/faults.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -r 49ab12a04d16 -r 76d379e3f1d7 xen/arch/ia64/xen/faults.c
--- a/xen/arch/ia64/xen/faults.c        Thu Nov 30 15:58:21 2006 -0700
+++ b/xen/arch/ia64/xen/faults.c        Fri Dec 01 11:12:00 2006 -0700
@@ -524,7 +524,9 @@ ia64_handle_break(unsigned long ifa, str
        struct vcpu *v = current;
        IA64FAULT vector;
 
-       if (iim == 0x80001 || iim == 0x80002) { //FIXME: don't hardcode constant
+       /* FIXME: don't hardcode constant */
+       if ((iim == 0x80001 || iim == 0x80002)
+           && ia64_get_cpl(regs->cr_ipsr) == 2) {
                do_ssc(vcpu_get_gr(current, 36), regs);
        }
 #ifdef CRASH_DEBUG

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


 


Rackspace

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