From 4c7e6ce894d5979a7c0a21f7fe7ad752546fefcb Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 15 May 2020 16:29:20 -0700 Subject: [PATCH] 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 --- src/arch/x86/tlb.cc | 1 - 1 file changed, 1 deletion(-) 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 { -- 2.30.2