|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-ia64-devel
[Xen-ia64-devel] code in vms_fault.c
 
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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-ia64-devel] code in vms_fault.c,
Tristan Gingold <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |