[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [PATCH] bug fix. avoid insertion of pte.ma=001 into VHPT
A TLB entry shouldn't be inserted into VHPT when its memory attribute field is 001 "software reserved". Without this patch, a TLB fault expected by a guest OS is missing. -- Kouya Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> diff -r 14aeb7981e4e xen/arch/ia64/vmx/vmx_process.c --- a/xen/arch/ia64/vmx/vmx_process.c Tue Mar 27 12:21:48 2007 -0600 +++ b/xen/arch/ia64/vmx/vmx_process.c Thu Mar 29 12:31:17 2007 +0900 @@ -437,6 +437,11 @@ vmx_hpw_miss(u64 vadr , u64 vec, REGS* r if (!guest_vhpt_lookup(vhpt_adr, &pteval)) { /* VHPT successfully read. */ if (pteval & _PAGE_P) { + if ((pteval & _PAGE_MA_MASK) == _PAGE_MA_ST) { + vcpu_set_isr(v, misr.val); + itlb_fault(v, vadr); + return IA64_FAULT; + } vcpu_get_rr(v, vadr, &rr); itir = rr & (RR_RID_MASK | RR_PS_MASK); thash_purge_and_insert(v, pteval, itir, vadr, ISIDE_TLB); _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |