91a92
> type_vec = []
98a100
> type_vec.append(expected_type)
118c120,136
< TransitionResult result = doTransition(${{cvec[0]}}, ${machine}_getState(addr), addr);
---
> ''')
> if machine.TBEType != None and machine.EntryType != None:
> code('''
> TransitionResult result = doTransition(${{cvec[0]}}, ${{cvec[2]}}, ${{cvec[3]}}, addr);
> ''')
> elif machine.TBEType != None:
> code('''
> TransitionResult result = doTransition(${{cvec[0]}}, ${{cvec[2]}}, addr);
> ''')
> elif machine.EntryType != None:
> code('''
> TransitionResult result = doTransition(${{cvec[0]}}, ${{cvec[2]}}, addr);
> ''')
> else:
> code('''
> TransitionResult result = doTransition(${{cvec[0]}}, addr);
> ''')
119a138
> code('''
177a197,206
>
> elif self.proc_name == "set_cache_entry":
> code("set_cache_entry(m_cache_entry_ptr, %s);" %(cvec[0]));
> elif self.proc_name == "unset_cache_entry":
> code("unset_cache_entry(m_cache_entry_ptr);");
> elif self.proc_name == "set_tbe":
> code("set_tbe(m_tbe_ptr, %s);" %(cvec[0]));
> elif self.proc_name == "unset_tbe":
> code("unset_tbe(m_tbe_ptr);");
>
187c216,236
< params = ', '.join(str(c) for c in cvec)
---
> params = ""
> first_param = True
>
> for (param_code, type) in zip(cvec, type_vec):
> if str(type) == "TBE" or ("interface" in type and
> type["interface"] == "AbstractCacheEntry"):
>
> if first_param:
> params = str(param_code).replace('*','')
> first_param = False
> else:
> params += ', '
> params += str(param_code).replace('*','');
> else:
> if first_param:
> params = str(param_code)
> first_param = False
> else:
> params += ', '
> params += str(param_code);
>