diff options
author | Nikos Nikoleris <nikos.nikoleris@arm.com> | 2018-02-12 15:53:47 +0000 |
---|---|---|
committer | Nikos Nikoleris <nikos.nikoleris@arm.com> | 2018-03-20 21:41:45 +0000 |
commit | 68af229490fc811aebddf68b3e2e09e63a5fa475 (patch) | |
tree | 2a9a9cf0c94c2f490e78b30c2498460e535f3a39 /configs/ruby/MI_example.py | |
parent | fe187de9bd1aa479ab6cd198522bfd118d0d50ec (diff) | |
download | gem5-68af229490fc811aebddf68b3e2e09e63a5fa475.tar.xz |
arch-arm, configs: Treat the bootloader rom as cacheable memory
Prior to this changeset the bootloader rom (instantiated as a
SimpleMemory) in ruby Arm systems was treated as an IO device and it
was fronted by a DMA controller. This changeset moves the bootloader
rom and adds it to the system as another memory with a dedicated
directory controller.
Change-Id: I094fed031cdef7f77a939d94f948d967b349b7e0
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/8741
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'configs/ruby/MI_example.py')
-rw-r--r-- | configs/ruby/MI_example.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/configs/ruby/MI_example.py b/configs/ruby/MI_example.py index eb881e55c..c92bb2036 100644 --- a/configs/ruby/MI_example.py +++ b/configs/ruby/MI_example.py @@ -42,7 +42,8 @@ class L1Cache(RubyCache): pass def define_options(parser): return -def create_system(options, full_system, system, dma_ports, ruby_system): +def create_system(options, full_system, system, dma_ports, bootmem, + ruby_system): if buildEnv['PROTOCOL'] != 'MI_example': panic("This script requires the MI_example protocol to be built.") @@ -125,8 +126,11 @@ def create_system(options, full_system, system, dma_ports, ruby_system): clk_domain=ruby_system.clk_domain, clk_divider=3) - dir_cntrl_nodes = create_directories(options, system.mem_ranges, - ruby_system) + mem_dir_cntrl_nodes, rom_dir_cntrl_node = create_directories( + options, system.mem_ranges, bootmem, ruby_system, system) + dir_cntrl_nodes = mem_dir_cntrl_nodes[:] + if rom_dir_cntrl_node is not None: + dir_cntrl_nodes.append(rom_dir_cntrl_node) for dir_cntrl in dir_cntrl_nodes: # Connect the directory controllers and the network dir_cntrl.requestToDir = MessageBuffer(ordered = True) @@ -188,4 +192,4 @@ def create_system(options, full_system, system, dma_ports, ruby_system): ruby_system.network.number_of_virtual_networks = 5 topology = create_topology(all_cntrls, options) - return (cpu_sequencers, dir_cntrl_nodes, topology) + return (cpu_sequencers, mem_dir_cntrl_nodes, topology) |