# HG changeset patch # User Tristan Gingold # Date 1190250715 -7200 # Node ID adc220b9d7dbf67a00e306a352e9faac6f093737 # Parent c3fcba760e3bc006eb683bb4cf98f8c18c206035 vmx_vcpu_tak: fix bugs Signed-off-by: Tristan Gingold diff -r c3fcba760e3b -r adc220b9d7db xen/arch/ia64/vmx/vmmu.c --- a/xen/arch/ia64/vmx/vmmu.c Thu Sep 20 01:54:30 2007 +0200 +++ b/xen/arch/ia64/vmx/vmmu.c Thu Sep 20 03:11:55 2007 +0200 @@ -671,18 +671,17 @@ u64 vmx_vcpu_tak(VCPU *vcpu, u64 vadr) u64 vmx_vcpu_tak(VCPU *vcpu, u64 vadr) { thash_data_t *data; - PTA vpta; u64 key; - vpta.val = vmx_vcpu_get_pta(vcpu); - if(vpta.vf==0 || unimplemented_gva(vcpu, vadr)){ - key=1; + + if (unimplemented_gva(vcpu, vadr)) { + key = 1; return key; } + /* FIXME: if psr.dt is set, look in the guest VHPT. */ data = vtlb_lookup(vcpu, vadr, DSIDE_TLB); - if(!data||!data->p){ + if (!data || !data->p) key = 1; - }else{ - key = data->key; - } + else + key = data->key << 8; return key; }