|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] Fix delivery of nat consumption faults (still	chatty)
 
# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID bd234c9603ce433dcb4a4ac1795a94f3b7b2796f
# Parent  12d4d2dc06a26830c1ef5b1cebd31221a94487e6
Fix delivery of nat consumption faults (still chatty)
Signed-off by: Dan Magenheimer <dan.magenheimer@xxxxxx>
diff -r 12d4d2dc06a2 -r bd234c9603ce xen/arch/ia64/xen/process.c
--- a/xen/arch/ia64/xen/process.c       Fri Nov 11 19:05:38 2005
+++ b/xen/arch/ia64/xen/process.c       Fri Nov 11 19:23:04 2005
@@ -743,10 +743,15 @@
                vector = IA64_DISABLED_FPREG_VECTOR;
                break;
            case 26:
+               if (((isr >> 4L) & 0xfL) == 1) {
+                       //regs->eml_unat = 0;  FIXME: DO WE NEED THIS??
+                       printf("ia64_handle_reflection: handling regNaT fault");
+                       vector = IA64_NAT_CONSUMPTION_VECTOR; break;
+               }
 printf("*** NaT fault... attempting to handle as privop\n");
 printf("isr=%p, ifa=%p,iip=%p,ipsr=%p\n",isr,ifa,regs->cr_iip,psr);
-               regs->eml_unat = 0;
-               return;
+               //regs->eml_unat = 0;  FIXME: DO WE NEED THIS???
+               // certain NaT faults are higher priority than privop faults
                vector = priv_emulate(v,regs,isr);
                if (vector == IA64_NO_FAULT) {
 printf("*** Handled privop masquerading as NaT fault\n");
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] Fix delivery of nat consumption faults (still	chatty),
Xen patchbot -unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |