ia64/xen-unstable

changeset 7729:bd234c9603ce

Fix delivery of nat consumption faults (still chatty)
Signed-off by: Dan Magenheimer <dan.magenheimer@hp.com>
author djm@kirby.fc.hp.com
date Fri Nov 11 13:23:04 2005 -0600 (2005-11-11)
parents 12d4d2dc06a2
children 5e142e1f41e6
files xen/arch/ia64/xen/process.c
line diff
     1.1 --- a/xen/arch/ia64/xen/process.c	Fri Nov 11 13:05:38 2005 -0600
     1.2 +++ b/xen/arch/ia64/xen/process.c	Fri Nov 11 13:23:04 2005 -0600
     1.3 @@ -743,10 +743,15 @@ ia64_handle_reflection (unsigned long if
     1.4  		vector = IA64_DISABLED_FPREG_VECTOR;
     1.5  		break;
     1.6  	    case 26:
     1.7 +		if (((isr >> 4L) & 0xfL) == 1) {
     1.8 +			//regs->eml_unat = 0;  FIXME: DO WE NEED THIS??
     1.9 +			printf("ia64_handle_reflection: handling regNaT fault");
    1.10 +			vector = IA64_NAT_CONSUMPTION_VECTOR; break;
    1.11 +		}
    1.12  printf("*** NaT fault... attempting to handle as privop\n");
    1.13  printf("isr=%p, ifa=%p,iip=%p,ipsr=%p\n",isr,ifa,regs->cr_iip,psr);
    1.14 -		regs->eml_unat = 0;
    1.15 -		return;
    1.16 +		//regs->eml_unat = 0;  FIXME: DO WE NEED THIS???
    1.17 +		// certain NaT faults are higher priority than privop faults
    1.18  		vector = priv_emulate(v,regs,isr);
    1.19  		if (vector == IA64_NO_FAULT) {
    1.20  printf("*** Handled privop masquerading as NaT fault\n");