summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTony Gutierrez <anthony.gutierrez@amd.com>2015-11-13 17:30:58 -0500
committerTony Gutierrez <anthony.gutierrez@amd.com>2015-11-13 17:30:58 -0500
commitd10fac27bc940d2cdd65c40ca6e6db80371b2d3b (patch)
tree2a407e51794760a234670407c2b9b191c0dcf4de /src
parent5143d480f381b6f27316646f8129bc452c11c9f8 (diff)
downloadgem5-d10fac27bc940d2cdd65c40ca6e6db80371b2d3b.tar.xz
slicc: fixes for the Address to Addr changeset (11025)
misc changes now that Address has become Addr including int to address util function
Diffstat (limited to 'src')
-rw-r--r--src/mem/protocol/RubySlicc_Util.sm4
-rw-r--r--src/mem/ruby/slicc_interface/RubySlicc_Util.hh7
-rw-r--r--src/mem/slicc/symbols/Transition.py2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/mem/protocol/RubySlicc_Util.sm b/src/mem/protocol/RubySlicc_Util.sm
index a179e5bbc..848f8c2c9 100644
--- a/src/mem/protocol/RubySlicc_Util.sm
+++ b/src/mem/protocol/RubySlicc_Util.sm
@@ -36,6 +36,7 @@ Cycles zero_time();
NodeID intToID(int nodenum);
int IDToInt(NodeID id);
int addressToInt(Addr addr);
+Addr intToAddress(int addr);
void procProfileCoherenceRequest(NodeID node, bool needCLB);
void dirProfileCoherenceRequest(NodeID node, bool needCLB);
int max_tokens();
@@ -43,6 +44,9 @@ Addr setOffset(Addr addr, int offset);
Addr makeLineAddress(Addr addr);
int getOffset(Addr addr);
int mod(int val, int mod);
+Addr bitSelect(Addr addr, int small, int big);
+Addr maskLowOrderBits(Addr addr, int number);
+Addr makeNextStrideAddress(Addr addr, int stride);
structure(BoolVec, external="yes") {
}
int countBoolVec(BoolVec bVec);
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
index 4a48d3efe..55f229d20 100644
--- a/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
+++ b/src/mem/ruby/slicc_interface/RubySlicc_Util.hh
@@ -65,6 +65,13 @@ addressToInt(Addr addr)
return addr;
}
+inline Addr
+intToAddress(int addr)
+{
+ assert(!(addr & 0xffffffff00000000));
+ return addr;
+}
+
inline int
mod(int val, int mod)
{
diff --git a/src/mem/slicc/symbols/Transition.py b/src/mem/slicc/symbols/Transition.py
index 856d3f4b0..8f88352c8 100644
--- a/src/mem/slicc/symbols/Transition.py
+++ b/src/mem/slicc/symbols/Transition.py
@@ -40,7 +40,7 @@ class Transition(Symbol):
# check to make sure there is a getNextState function declared
found = False
for func in machine.functions:
- if func.c_ident == 'getNextState_Address':
+ if func.c_ident == 'getNextState_Addr':
found = True
break
if found == False: