From: Gabe Black Date: Wed, 11 Apr 2007 14:02:03 +0000 (+0000) Subject: Make the itlb set the PHYSICAL flag on a request when it translates it. This gets... X-Git-Tag: m5_2.0_beta4~401 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=54abc8b3372287d9b286f5a0dc04d25a916bf889;p=gem5.git Make the itlb set the PHYSICAL flag on a request when it translates it. This gets it out of the cpu. --HG-- extra : convert_revision : 20611263b799b5e835116adbf39d2ecc78701eef --- diff --git a/src/arch/alpha/tlb.cc b/src/arch/alpha/tlb.cc index 3ab65e664..e9f126f12 100644 --- a/src/arch/alpha/tlb.cc +++ b/src/arch/alpha/tlb.cc @@ -292,6 +292,10 @@ ITB::regStats() Fault ITB::translate(RequestPtr &req, ThreadContext *tc) const { + //If this is a pal pc, then set PHYSICAL + if(FULL_SYSTEM && PcPAL(req->getPC())) + req->setFlags(req->getFlags() | PHYSICAL); + if (PcPAL(req->getPC())) { // strip off PAL PC marker (lsb is 1) req->setPaddr((req->getVaddr() & ~3) & PAddrImplMask); diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc index 877dc5bd4..c9d4f4c8f 100644 --- a/src/cpu/simple/base.cc +++ b/src/cpu/simple/base.cc @@ -335,9 +335,8 @@ BaseSimpleCPU::setupFetchRequest(Request *req) thread->readNextPC()); #endif - req->setVirt(0, thread->readPC() & ~3, sizeof(MachInst), - (FULL_SYSTEM && (thread->readPC() & 1)) ? PHYSICAL : 0, - thread->readPC()); + req->setVirt(0, thread->readPC() & ~3, sizeof(MachInst), 0, + thread->readPC()); Fault fault = thread->translateInstReq(req);