diff options
author | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-03-21 21:22:21 -0700 |
---|---|---|
committer | Brad Beckmann <Brad.Beckmann@amd.com> | 2010-03-21 21:22:21 -0700 |
commit | 92cfd1cac7f6f2d0abf64808f08f063cd0db1263 (patch) | |
tree | a69a2964f7342083cd8aaca5ed32df207a1edea8 /configs | |
parent | b5e4c3cbf2de32e18029b44b16b307a773b6ecf7 (diff) | |
download | gem5-92cfd1cac7f6f2d0abf64808f08f063cd0db1263.tar.xz |
ruby: Ruby support for sparse memory
The patch includes direct support for the MI example protocol.
Diffstat (limited to 'configs')
-rw-r--r-- | configs/common/Options.py | 6 | ||||
-rw-r--r-- | configs/ruby/MI_example.py | 4 | ||||
-rw-r--r-- | configs/ruby/Ruby.py | 6 |
3 files changed, 12 insertions, 4 deletions
diff --git a/configs/common/Options.py b/configs/common/Options.py index 7d1b0e745..b0153f453 100644 --- a/configs/common/Options.py +++ b/configs/common/Options.py @@ -43,7 +43,11 @@ parser.add_option("--mesh-rows", type="int", default=1, help="the number of rows in the mesh topology") parser.add_option("--garnet-network", type="string", default=none, help="'fixed'|'flexible'") - + +# ruby sparse memory options +parser.add_option("--use-map", action="store_true", default=False) +parser.add_option("--map-levels", type="int", default=4) + # Run duration options parser.add_option("-m", "--maxtick", type="int", default=m5.MaxTick, metavar="T", diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py index 96515971e..f4033caeb 100644 --- a/configs/ruby/MI_example.py +++ b/configs/ruby/MI_example.py @@ -105,7 +105,9 @@ def create_system(options, phys_mem, piobus, dma_devices): dir_cntrl = Directory_Controller(version = i, directory = \ RubyDirectoryMemory(version = i, - size = dir_size), + size = dir_size, + use_map = options.use_map, + map_levels = options.map_levels), memBuffer = mem_cntrl) dir_cntrl_nodes.append(dir_cntrl) diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py index 22d56f9a1..44a160793 100644 --- a/configs/ruby/Ruby.py +++ b/configs/ruby/Ruby.py @@ -78,8 +78,10 @@ def create_system(options, physmem, piobus = None, dma_devices = []): network = SimpleNetwork(topology = net_topology) # - # determine the total memory size of the ruby system and verify it is equal - # to physmem + # Determine the total memory size of the ruby system and verify it is equal + # to physmem. However, if Ruby memory is using sparse memory in SE + # mode, then the system should not back-up the memory state with + # the Memory Vector and thus the memory size bytes should stay at 0. # total_mem_size = MemorySize('0B') for dir_cntrl in dir_cntrls: |