From: Gabe Black Date: Fri, 15 May 2020 23:29:20 +0000 (-0700) Subject: x86: Stop setting the physical address in finalizePhysical. X-Git-Tag: v20.0.0.0~33 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4c7e6ce894d5979a7c0a21f7fe7ad752546fefcb;p=gem5.git x86: Stop setting the physical address in finalizePhysical. The physical address has already been set (it's read earlier in the function), and so doesn't need to be set again. Reading the virtual address can cause an assert if the virtual address had never been set in the first place, for example when an access comes from KVM which might give you an access to complete which is based on a physical address only. Change-Id: Ic46a40b1a94235538b5bd53065e5019273b3d3f3 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29172 Maintainer: Jason Lowe-Power Reviewed-by: Pouya Fotouhi Tested-by: kokoro --- diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc index 71ab56344..80684230b 100644 --- a/src/arch/x86/tlb.cc +++ b/src/arch/x86/tlb.cc @@ -264,7 +264,6 @@ TLB::finalizePhysical(const RequestPtr &req, req->setFlags(Request::STRICT_ORDER); uint8_t func; PseudoInst::decodeAddrOffset(paddr - m5opRange.start(), func); - req->setPaddr(req->getVaddr()); req->setLocalAccessor( [func, mode](ThreadContext *tc, PacketPtr pkt) -> Cycles {