1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 57 unchanged lines hidden (view full) --- 66 exec "import %s" % protocol 67 try: 68 (cpu_sequencers, dir_cntrls, all_cntrls) = \ 69 eval("%s.create_system(options, system, piobus, dma_devices)" \ 70 % protocol) 71 except: 72 print "Error: could not create sytem for ruby protocol %s" % protocol 73 raise |
74 |
75 # |
76 # Set the network classes based on the command line options 77 # 78 if options.garnet_network == "fixed": 79 class NetworkClass(GarnetNetwork_d): pass 80 class IntLinkClass(GarnetIntLink_d): pass 81 class ExtLinkClass(GarnetExtLink_d): pass 82 class RouterClass(GarnetRouter_d): pass 83 elif options.garnet_network == "flexible": 84 class NetworkClass(GarnetNetwork): pass 85 class IntLinkClass(GarnetIntLink): pass 86 class ExtLinkClass(GarnetExtLink): pass 87 class RouterClass(GarnetRouter): pass 88 else: 89 class NetworkClass(SimpleNetwork): pass 90 class IntLinkClass(BasicIntLink): pass 91 class ExtLinkClass(BasicExtLink): pass 92 class RouterClass(BasicRouter): pass 93 94 # |
95 # Important: the topology must be created before the network and after the 96 # controllers. 97 # 98 exec "import %s" % options.topology 99 try: |
100 net_topology = eval("%s.makeTopology(all_cntrls, options, \ 101 IntLinkClass, ExtLinkClass, \ 102 RouterClass)" \ |
103 % options.topology) 104 except: 105 print "Error: could not create topology %s" % options.topology 106 raise |
107 |
108 network = NetworkClass(topology = net_topology) 109 |
110 # 111 # Loop through the directory controlers. 112 # Determine the total memory size of the ruby system and verify it is equal 113 # to physmem. However, if Ruby memory is using sparse memory in SE 114 # mode, then the system should not back-up the memory state with 115 # the Memory Vector and thus the memory size bytes should stay at 0. 116 # Also set the numa bits to the appropriate values. 117 # --- 34 unchanged lines hidden --- |