diff --git a/src/mem/slicc/symbols/Func.py b/src/mem/slicc/symbols/Func.py index 28a0cf93c..f0b92cdc9 100644 --- a/src/mem/slicc/symbols/Func.py +++ b/src/mem/slicc/symbols/Func.py @@ -37,15 +37,12 @@ class Func(Symbol): self.param_strings = param_strings self.body = body self.isInternalMachineFunc = False + self.c_ident = ident - if machine is None: - self.c_ident = ident - elif "external" in self or "primitive" in self: - self.c_ident = ident + if machine is None or "external" in self or "primitive" in self: + pass else: self.machineStr = str(machine) - # Append with machine name - self.c_ident = "%s_%s" % (self.machineStr, ident) self.isInternalMachineFunc = True def __repr__(self): @@ -107,6 +104,9 @@ ${klass}::${{self.c_ident}}($params) ${{self.body}} } ''') - code.write(path, "%s.cc" % self.c_ident) + if self.isInternalMachineFunc: + code.write(path, "%s_%s.cc" % (self.machineStr,self.c_ident)) + else: + code.write(path, "%s.cc" % self.c_ident) __all__ = [ "Func" ] diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index 3cb542d47..09e17aee9 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -1071,13 +1071,13 @@ ${ident}_Controller::doTransition(${ident}_Event event, { ''') if self.TBEType != None and self.EntryType != None: - code('${ident}_State state = ${ident}_getState(m_tbe_ptr, m_cache_entry_ptr, addr);') + code('${ident}_State state = getState(m_tbe_ptr, m_cache_entry_ptr, addr);') elif self.TBEType != None: - code('${ident}_State state = ${ident}_getState(m_tbe_ptr, addr);') + code('${ident}_State state = getState(m_tbe_ptr, addr);') elif self.EntryType != None: - code('${ident}_State state = ${ident}_getState(m_cache_entry_ptr, addr);') + code('${ident}_State state = getState(m_cache_entry_ptr, addr);') else: - code('${ident}_State state = ${ident}_getState(addr);') + code('${ident}_State state = getState(addr);') code(''' ${ident}_State next_state = state; @@ -1115,15 +1115,15 @@ ${ident}_Controller::doTransition(${ident}_Event event, CLEAR_TRANSITION_COMMENT(); ''') if self.TBEType != None and self.EntryType != None: - code('${ident}_setState(m_tbe_ptr, m_cache_entry_ptr, addr, next_state);') + code('setState(m_tbe_ptr, m_cache_entry_ptr, addr, next_state);') code('set_permission(m_cache_entry_ptr, ${ident}_State_to_permission(next_state));') elif self.TBEType != None: - code('${ident}_setState(m_tbe_ptr, addr, next_state);') + code('setState(m_tbe_ptr, addr, next_state);') elif self.EntryType != None: - code('${ident}_setState(m_cache_entry_ptr, addr, next_state);') + code('setState(m_cache_entry_ptr, addr, next_state);') code('set_permission(m_cache_entry_ptr, ${ident}_State_to_permission(next_state));') else: - code('${ident}_setState(addr, next_state);') + code('setState(addr, next_state);') code(''' } else if (result == TransitionResult_ResourceStall) {