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-ia64-devel

Re: [Xen-ia64-devel] code in vms_fault.c

To: Tristan Gingold <tgingold@xxxxxxx>
Subject: Re: [Xen-ia64-devel] code in vms_fault.c
From: Jun Kamada <kama@xxxxxxxxxxxxxx>
Date: Thu, 06 Sep 2007 09:17:26 +0900
Cc: Xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 05 Sep 2007 17:18:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070901055813.GA2732@saphi>
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>
References: <20070901055813.GA2732@saphi>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Tristan-san,

I will reply in behalf of Doi-san who is the original sender of
following patch, maybe. 

It seems that the x86 code already have no limitation about getting
local_event.
I consider the limitation should be removed from ia64 code too. I would
like to post the patch to remove it in a few weeks.

-----
I consider that only removing the "if (v->vcpu_id == 0) {" clause is
not enough and additional code such like following are required. 
Therefore, I need a time to make the patch.

- Any VCPU can check event channel.
- One VCPU that first comes can set up the interrupt controller.

Your helpful advise is welcomed.
Thanks,


On Sat, 1 Sep 2007 07:58:13 +0200
Tristan Gingold <tgingold@xxxxxxx> wrote:

> Hi,
> 
> in vms_fault.c:leave_hypervisor_tail():
> 
>         if (v->vcpu_id == 0) {
>             unsigned long callback_irq =
>                 d->arch.hvm_domain.params[HVM_PARAM_CALLBACK_IRQ];
> 
>             if ( v->arch.arch_vmx.pal_init_pending ) {
>                 /*inject INIT interruption to guest pal*/
>                 v->arch.arch_vmx.pal_init_pending = 0;
>                 deliver_pal_init(v);
>                 return;
>             }
> 
>             /*
>              * val[63:56] == 1: val[55:0] is a delivery PCI INTx line:
>              *                  Domain = val[47:32], Bus  = val[31:16],
>              *                  DevFn  = val[15: 8], IntX = val[ 1: 0]
>              * val[63:56] == 0: val[55:0] is a delivery as GSI
>              */
>             if (callback_irq != 0 && local_events_need_delivery()) {
>                 /* change level for para-device callback irq */
>                 /* use level irq to send discrete event */
> 
> My question is why the local_event check is conditionned by v->vcpu_id == 0 ?
> 
> Thanks in advance,
> Tristan.
> 
> _______________________________________________
> Xen-ia64-devel mailing list
> Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ia64-devel

Jun Kamada
Linux Technology Development Div.
Server Systems Unit
Fujitsu Ltd.
kama@xxxxxxxxxxxxxx



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

<Prev in Thread] Current Thread [Next in Thread>