From: Gene Wu Date: Mon, 23 Aug 2010 16:18:41 +0000 (-0500) Subject: ARM: For non-cachable accesses set the UNCACHABLE flag X-Git-Tag: stable_2012_02_02~889 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aa601750f8161fcd60b1083067d5bcd5e48a7ccc;p=gem5.git ARM: For non-cachable accesses set the UNCACHABLE flag --- diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc index b7e951767..afa45901a 100644 --- a/src/arch/arm/tlb.cc +++ b/src/arch/arm/tlb.cc @@ -360,6 +360,7 @@ TLB::translateFs(RequestPtr req, ThreadContext *tc, Mode mode, // a bit of a hack but this effectively clrears this processors monitor if (flags & Clrex){ req->setPaddr(0); + req->setFlags(Request::UNCACHEABLE); return NoFault; } if (!is_fetch) { @@ -430,7 +431,8 @@ TLB::translateFs(RequestPtr req, ThreadContext *tc, Mode mode, outerAttrs: %d\n", te->shareable, te->innerAttrs, te->outerAttrs); setAttr(te->attributes); - + if (te->nonCacheable) + req->setFlags(Request::UNCACHEABLE); uint32_t dacr = tc->readMiscReg(MISCREG_DACR); switch ( (dacr >> (te->domain * 2)) & 0x3) { case 0: