|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-ia64-devel
[Xen-ia64-devel] Small bug in handling of domU's itc ops
 
Hi,
in a previous mail
http://lists.xensource.com/archives/html/xen-ia64-devel/2006-11/msg00053.html
I described a strange panic in xen.
Now I tried to look something deeper into the problem.
Wenn in the domU a itc.d = r is called, a Privileged Operation fault is raised 
and the hypervisor tries to emulate the itc.d. It takes the pte from the domU 
and does some checks and changes. But it doesn't check whether the reserved 
bits are masked out.  In vcpu_itc_no_srlz() the function ia64_itc() ist 
called with this buggy pte and which leads to a nested Reserved 
Register/Field Fault and panics the hypervisor!
My simple traphandler didn't mask out these bits and used a wrong pte for 
itc.d.
My patch only masks these bits before calling ia64_itc(). I didn't check the 
vmx parts because I don't have a vti machine.
Maybe the patch is not complete. Any comments are welcome.
Thanks.
Dietmar.
# HG changeset patch
# User dietmar.hahn@xxxxxxxxxxxxxxxxxxx
# Node ID a9ea368e59a52106866131fbf52b10a971756e3d
# Parent  2fc3392d0889684c80675b29f9bde0f63cfc3cb9
Mask out reserved bits to avoid Reserved Register/Field faults.
Signed-off-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx>
diff -r 2fc3392d0889 -r a9ea368e59a5 xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Thu Dec 14 09:56:41 2006 -0700
+++ b/xen/arch/ia64/xen/vcpu.c  Fri Dec 15 13:35:36 2006 +0100
@@ -2162,6 +2162,7 @@ vcpu_itc_no_srlz(VCPU * vcpu, u64 IorD, 
        BUG_ON(logps > PAGE_SHIFT);
        vcpu_tlb_track_insert_or_dirty(vcpu, vaddr, entry);
        psr = ia64_clear_ic();
+       pte &= ~((0x3UL<<50) | 0x1<<1); // Mask out the reserved bits.
        ia64_itc(IorD, vaddr, pte, ps); // FIXME: look for bigger mappings
        ia64_set_psr(psr);
        // ia64_srlz_i(); // no srls req'd, will rfi later
_______________________________________________
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] Small bug in handling of domU's itc ops,
Dietmar Hahn <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |