ia64/xen-unstable

changeset 4546:c7e94658f623

bitkeeper revision 1.1277.1.8 (426045a9jwqQpAs04HKkiXc9OPbBBw)

vcpu.c:
pending interrupt fix for paravirtualization
author djm@kirby.fc.hp.com
date Fri Apr 15 22:52:25 2005 +0000 (2005-04-15)
parents 195fcaf1958f
children 58efb3448933 828a6e563cf1
files xen/arch/ia64/vcpu.c
line diff
     1.1 --- a/xen/arch/ia64/vcpu.c	Thu Apr 14 22:40:58 2005 +0000
     1.2 +++ b/xen/arch/ia64/vcpu.c	Fri Apr 15 22:52:25 2005 +0000
     1.3 @@ -509,6 +509,7 @@ void vcpu_pend_interrupt(VCPU *vcpu, UIN
     1.4  //printf("vcpu_pend_interrupt: overrun\n");
     1.5  	}
     1.6  	set_bit(vector,PSCB(vcpu,irr));
     1.7 +	PSCB(vcpu,pending_interruption) = 1;
     1.8  }
     1.9  
    1.10  void early_tick(VCPU *vcpu)
    1.11 @@ -637,7 +638,7 @@ IA64FAULT vcpu_get_ivr(VCPU *vcpu, UINT6
    1.12  //printf("ZZZZZZ vcpu_get_ivr: setting insvc mask for vector %ld\n",vector);
    1.13  	PSCB(vcpu,insvc[i]) |= mask;
    1.14  	PSCB(vcpu,irr[i]) &= ~mask;
    1.15 -	PSCB(vcpu,pending_interruption)--;
    1.16 +	//PSCB(vcpu,pending_interruption)--;
    1.17  	*pval = vector;
    1.18  	// if delivering a timer interrupt, remember domain_itm
    1.19  	if (vector == (PSCB(vcpu,itv) & 0xff)) {
    1.20 @@ -746,6 +747,7 @@ IA64FAULT vcpu_set_tpr(VCPU *vcpu, UINT6
    1.21  {
    1.22  	if (val & 0xff00) return IA64_RSVDREG_FAULT;
    1.23  	PSCB(vcpu,tpr) = val;
    1.24 +	//PSCB(vcpu,pending_interruption) = 1;
    1.25  	return (IA64_NO_FAULT);
    1.26  }
    1.27