StateMachine.py (11044:25b2a428e2eb) StateMachine.py (11049:dfb0aa3f0649)
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# Copyright (c) 2013 Advanced Micro Devices, Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 306 unchanged lines hidden (view full) ---

315
316 void recordCacheTrace(int cntrl, CacheRecorder* tr);
317 Sequencer* getSequencer() const;
318
319 int functionalWriteBuffers(PacketPtr&);
320
321 void countTransition(${ident}_State state, ${ident}_Event event);
322 void possibleTransition(${ident}_State state, ${ident}_Event event);
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# Copyright (c) 2013 Advanced Micro Devices, Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 306 unchanged lines hidden (view full) ---

315
316 void recordCacheTrace(int cntrl, CacheRecorder* tr);
317 Sequencer* getSequencer() const;
318
319 int functionalWriteBuffers(PacketPtr&);
320
321 void countTransition(${ident}_State state, ${ident}_Event event);
322 void possibleTransition(${ident}_State state, ${ident}_Event event);
323 uint64_t getEventCount(${ident}_Event event);
323 uint64 getEventCount(${ident}_Event event);
324 bool isPossible(${ident}_State state, ${ident}_Event event);
324 bool isPossible(${ident}_State state, ${ident}_Event event);
325 uint64_t getTransitionCount(${ident}_State state, ${ident}_Event event);
325 uint64 getTransitionCount(${ident}_State state, ${ident}_Event event);
326
327private:
328''')
329
330 code.indent()
331 # added by SS
332 for param in self.config_parameters:
333 if param.pointer:

--- 463 unchanged lines hidden (view full) ---

797}
798void
799$c_ident::possibleTransition(${ident}_State state,
800 ${ident}_Event event)
801{
802 m_possible[state][event] = true;
803}
804
326
327private:
328''')
329
330 code.indent()
331 # added by SS
332 for param in self.config_parameters:
333 if param.pointer:

--- 463 unchanged lines hidden (view full) ---

797}
798void
799$c_ident::possibleTransition(${ident}_State state,
800 ${ident}_Event event)
801{
802 m_possible[state][event] = true;
803}
804
805uint64_t
805uint64
806$c_ident::getEventCount(${ident}_Event event)
807{
808 return m_event_counters[event];
809}
810
811bool
812$c_ident::isPossible(${ident}_State state, ${ident}_Event event)
813{
814 return m_possible[state][event];
815}
816
806$c_ident::getEventCount(${ident}_Event event)
807{
808 return m_event_counters[event];
809}
810
811bool
812$c_ident::isPossible(${ident}_State state, ${ident}_Event event)
813{
814 return m_possible[state][event];
815}
816
817uint64_t
817uint64
818$c_ident::getTransitionCount(${ident}_State state,
819 ${ident}_Event event)
820{
821 return m_counters[state][event];
822}
823
824int
825$c_ident::getNumControllers()

--- 382 unchanged lines hidden (view full) ---

1208 code('doTransitionWorker(event, state, next_state, m_tbe_ptr, m_cache_entry_ptr, addr);')
1209 elif self.TBEType != None:
1210 code('doTransitionWorker(event, state, next_state, m_tbe_ptr, addr);')
1211 elif self.EntryType != None:
1212 code('doTransitionWorker(event, state, next_state, m_cache_entry_ptr, addr);')
1213 else:
1214 code('doTransitionWorker(event, state, next_state, addr);')
1215
818$c_ident::getTransitionCount(${ident}_State state,
819 ${ident}_Event event)
820{
821 return m_counters[state][event];
822}
823
824int
825$c_ident::getNumControllers()

--- 382 unchanged lines hidden (view full) ---

1208 code('doTransitionWorker(event, state, next_state, m_tbe_ptr, m_cache_entry_ptr, addr);')
1209 elif self.TBEType != None:
1210 code('doTransitionWorker(event, state, next_state, m_tbe_ptr, addr);')
1211 elif self.EntryType != None:
1212 code('doTransitionWorker(event, state, next_state, m_cache_entry_ptr, addr);')
1213 else:
1214 code('doTransitionWorker(event, state, next_state, addr);')
1215
1216 port_to_buf_map, in_msg_bufs, msg_bufs = self.getBufferMaps(ident)
1217
1216 code('''
1217
1218if (result == TransitionResult_Valid) {
1219 DPRINTF(RubyGenerated, "next_state: %s\\n",
1220 ${ident}_State_to_string(next_state));
1221 countTransition(state, event);
1222
1223 DPRINTFR(ProtocolTrace, "%15d %3s %10s%20s %6s>%-6s %#x %s\\n",

--- 353 unchanged lines hidden ---
1218 code('''
1219
1220if (result == TransitionResult_Valid) {
1221 DPRINTF(RubyGenerated, "next_state: %s\\n",
1222 ${ident}_State_to_string(next_state));
1223 countTransition(state, event);
1224
1225 DPRINTFR(ProtocolTrace, "%15d %3s %10s%20s %6s>%-6s %#x %s\\n",

--- 353 unchanged lines hidden ---