[IA64] Fix a bug in vmx_vcpu_pta
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 14 Jun 2006 22:05:43 +0000 (16:05 -0600)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Wed, 14 Jun 2006 22:05:43 +0000 (16:05 -0600)
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
xen/arch/ia64/vmx/vmmu.c

index 3df28d1afd744bd061290f9ba56a3405cc1cfcd2..c6ec77f1e4a38e2fd43c319bd521c3e9d99a12dd 100644 (file)
@@ -612,7 +612,8 @@ IA64FAULT vmx_vcpu_tpa(VCPU *vcpu, UINT64 vadr, UINT64 *padr)
             dnat_page_consumption(vcpu, vadr);
             return IA64_FAULT;
         }else{
-            *padr = (data->ppn<<12) | (vadr&(PSIZE(data->ps)-1));
+            *padr = ((data->ppn >> (data->ps - 12)) << data->ps) |
+                                                (vadr & (PSIZE(data->ps) - 1));
             return IA64_NO_FAULT;
         }
     }