Hello.
In tags/indexingPolicy/base.cc there is an extractTag function.
In base.hh the prototype is:
virtual Addr extractTag(const Addr addr) const;

In base.cc, the definition is:
Addr
BaseIndexingPolicy::extractTag(const Addr addr) const
{
    return (addr >> tagShift);
}

Whether it is set associative or skewed associative, extractTag remains same 
(no override).

>From any tag class (base_set_assoc or sector), you can call this extractTag.

I wanted a method to return setShift value from "indexing policy" back to "tag" 
class.

In base.hh, I did:
virtual int extractss() const;  [same prototype as extractTag]

In base.cc I did,
int
BaseIndexingPolicy::extractss() const
{
   return setShift;
}

>From sector_tags.cc, I tried to call this extractss() .
But build fails stating no extractss() declared in the scope. (I am calling it 
from an existing method in the sector_tags.cc).

Why would this happen ?
Note: setShift is under "protected", not "public"

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to