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


RE: [Xen-devel] trap/interrupt gate for hypercall

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "Keir Fraser" <keir@xxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] trap/interrupt gate for hypercall
From: "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>
Date: Wed, 16 May 2007 21:42:38 +0800
Delivery-date: Wed, 16 May 2007 06:41:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C2706847.7706%Keir.Fraser@xxxxxxxxxxxx>
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: AceW/1gtu6fdM4mZSxqwxNTDwzvRGgAAqkSIAAAj7oAAANfAdwAYZubwAAe8x+YADh2LoA==
Thread-topic: [Xen-devel] trap/interrupt gate for hypercall
Please see comment question.

-----Original Message-----
From: Keir Fraser [mailto:Keir.Fraser@xxxxxxxxxxxx] 
Sent: 2007年5月16日 14:51
To: Tian, Kevin; Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx
Cc: Liu, Jinsong
Subject: Re: [Xen-devel] trap/interrupt gate for hypercall

On 16/5/07 04:17, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:

> I saw one necessity by always using interrupt gate type, that
> restore_all_xen can be simplified without segment registers restore.
> Or else at least ds/es need be restored for restore_all_xen if interrupt
> happens at entrance of hypercall (if by trap gate type). But I'm weak
> knowledge about the reason you list. What's the ability that hypercall
> handler can do while interrupt handler can't when reload of a
> problematic segment register? Anyway interrupt can also raise from
> guest context and interrupt handle also needs to tackle fault of
> reloading. Could you kindly give an example? :-)

Enter Xen on hypercall, immediately take an interrupt, on return from
interrupt %es faults on reload. How do we propagate this bad segment
   --> the problem is when return from interrupt how %es faults on reload
        except interrupt handler purposely modify kernel stack? --> example?
register value to the guest via the failsafe callback handler from this
context? The bad %es is not yet saved on the outer context's stack frame.

 -- Keir

Xen-devel mailing list