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] About TSSinitialization when Xen booting.

To: 李亚琼 <liyaq04@xxxxxxxxxx>
Subject: Re: 答复: 答复: [Xen-devel] About TSSinitialization when Xen booting.
From: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Date: Tue, 07 Aug 2007 08:30:12 +0100
Cc: "'Li, Xin B'" <xin.b.li@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 07 Aug 2007 00:28:08 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070807070938.923BF13685E@xxxxxxxxxx>
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: <20070807070938.923BF13685E@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2007-08-07 at 15:20 +0800, 李亚琼 wrote:
> Hi,Ian
>       I know what you mean. But the problem is that guest_cpu_user_regs.es
> (the macro of get_frame_bottom() returns this value) is used to initialize
> the TSS when it has not been initialized.

It's the _address_ of guest_cpu_user_regs.es, isn't it?

((unsigned long)&get_cpu_info()->guest_cpu_user_regs.es)

>  If TSS has not been initialized
> correctly, Xen can't switch to the kernel stack of the current cpu when a
> interrupt or trap occurs. Tss initialization should correctly be initialized
> before a interrupt or trap occurs. But I can't find where
> guest_cpu_user_regs.es is initialized before used to initialize TSS in
> function percpu_traps_init().

The TSS setup in percpu_traps_init() is for the double fault TSS. The
regular TSS is setup in cpu_init using init_tss[cpu].


Xen-devel mailing list