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-ia64-devel] [PATCH] About fault handle in nested interrupt

To: <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-ia64-devel] [PATCH] About fault handle in nested interrupt
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Thu, 24 Nov 2005 14:19:11 +0800
Delivery-date: Thu, 24 Nov 2005 06:19:22 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcXwvvwWKB0inxTAQIupbPqx5u57Xg==
Thread-topic: [PATCH] About fault handle in nested interrupt
Hi, Dan,
        When looking at the unaligned issue raised by Kanno, I think
there's an issue to handle nested fault happened in the hypervisor.

        Take above unaligned fault for example. One bogus structure is
allocated unaligned, and then Xen tries to access that unaligned
structure. Unaligned fault happens within Xen, and finally flow goes to
ia64_handle_reflection. There's a check upon ipsr.cpl to see whether
fault from Xen itself. If true, only a warning is printed out and
subsequent lines will still be executed just as fault from guest.
Finally reflect_interruption is called and pt_regs.iip is changed to
unaligned offset within guest IVT table.

        Actually you can see from this flow that everything will get
messed after fault is injected into guest, since incorrect register
contents of Xen are recovered to guest. This will bring developer much
confusion about when/where things go wrong exactly, since more faults
will be raised due to above incorrect injection.

        Normally the faults reflected back to guest directly shouldn't
happen within Xen, or else that means a bug and we need panic and dump
the stack at that point immediately. This can make people easier to
track bugs. ;-)

Signed-off-by Kevin Tian <Kevin.tian@xxxxxxxxx>


Attachment: panic_xen_fault
Description: panic_xen_fault

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