changeset 19515f842044 in /z/repo/gem5 details: http://repo.gem5.org/gem5?cmd=changeset;node=19515f842044 description: ruby: re-added the addressToInt slicc interface function
This helper function is very useful converting address offsets to integers that can be used for protocol specific destination mapping. diffstat: src/mem/protocol/RubySlicc_Util.sm | 1 + src/mem/ruby/slicc_interface/RubySlicc_Util.hh | 8 ++++++++ 2 files changed, 9 insertions(+), 0 deletions(-) diffs (29 lines): diff -r 9abf6a7c14ab -r 19515f842044 src/mem/protocol/RubySlicc_Util.sm --- a/src/mem/protocol/RubySlicc_Util.sm Mon Jul 20 09:15:18 2015 -0500 +++ b/src/mem/protocol/RubySlicc_Util.sm Mon Jul 20 09:15:18 2015 -0500 @@ -35,6 +35,7 @@ Cycles zero_time(); NodeID intToID(int nodenum); int IDToInt(NodeID id); +int addressToInt(Address addr); void procProfileCoherenceRequest(NodeID node, bool needCLB); void dirProfileCoherenceRequest(NodeID node, bool needCLB); int max_tokens(); diff -r 9abf6a7c14ab -r 19515f842044 src/mem/ruby/slicc_interface/RubySlicc_Util.hh --- a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh Mon Jul 20 09:15:18 2015 -0500 +++ b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh Mon Jul 20 09:15:18 2015 -0500 @@ -56,6 +56,14 @@ return nodenum; } +inline int +addressToInt(Address addr) +{ + assert(!(addr.getAddress() & 0xffffffff00000000)); + + return (int)addr.getAddress(); +} + // Appends an offset to an address inline Address setOffset(Address addr, int offset) _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev