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 -- [email protected]
To unsubscribe send an email to [email protected]