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] Re: [PATCH] Xen Guest Kexec

To: Gerd Hoffmann <kraxel@xxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH] Xen Guest Kexec
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Fri, 3 Mar 2006 09:14:30 +0000
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Mark Williamson <mark.williamson@xxxxxxxxxxxx>, Horms <horms@xxxxxxxxxxxx>
Delivery-date: Fri, 03 Mar 2006 09:14:49 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <440800D9.4030803@xxxxxxx>
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: <A95E2296287EAD4EB592B5DEEFCE0E9D40A892@xxxxxxxxxxxxxxxxxxxxxxxxxxx> <08134dbedd3f8cf9e06f9876efe364bb@xxxxxxxxxxxx> <44031C17.1030502@xxxxxxx> <497e0e82f56e48142857ac3e0280d691@xxxxxxxxxxxx> <44058EED.7060006@xxxxxxx> <4405AB49.9020704@xxxxxxx> <ed975c74f0d1454444a4aebcfeccd7ad@xxxxxxxxxxxx> <7b7a318fc7204edaf650ffb8e1b11632@xxxxxxxxxxxx> <4406B7FB.6030207@xxxxxxx> <cc4d44aeb3f80fb3b1f2eb26e34a056b@xxxxxxxxxxxx> <4406D83F.3080709@xxxxxxx> <4b02cf0aeca2fb5aa2cfadb0833ec1cc@xxxxxxxxxxxx> <44071EFC.6010307@xxxxxxx> <50867f02a9164fec709c96927802dc45@xxxxxxxxxxxx> <440800D9.4030803@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 3 Mar 2006, at 08:39, Gerd Hoffmann wrote:

The critical thing that disables the trap is flags==0: that sets the
'dpl' for the 'trap gate' to zero so it effectively is unusable.

Well, xen still tries to forward the trap to that vector then, but I
want to avoid exactly that.

The problem I have is that my kernel faults somewhere, but I'm already
that far in doing kexec that the usual linux kernel trap handling isn't
going to work any more.  What I'd like to see is xen print out a
register dump, with EIP being the faulting instruction, not the
(non-working) fault handler entry point.

Guess I have to hack xen a bit for that ...

Well, the trick I described is good for at least 'non-exceptions' (i.e., it'll disable 'int x' software interrupts). For exceptions, I guess you should simply avoid causing them? :-)

In fact, why not install a dummy handler for all vectors (0-255). That is, a valid cs:eip that vectors to a small kexec function to print the state you desire? Setting flags==0 will ensure that softints don't work, but you can print out a useful message if you take a fault. You could try and put in a safe-ish place so it continues to work even for the early stages of the new kernel boot.

 -- Keir


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