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>
This commit is contained in:
@@ -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'] != 'Garnet_standalone':
|
||||
panic("This script requires Garnet_standalone protocol to be built.")
|
||||
|
||||
@@ -99,9 +100,11 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
|
||||
l1_cntrl.responseFromCache = MessageBuffer()
|
||||
l1_cntrl.forwardFromCache = MessageBuffer()
|
||||
|
||||
|
||||
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()
|
||||
@@ -112,4 +115,4 @@ def create_system(options, full_system, system, dma_ports, ruby_system):
|
||||
all_cntrls = l1_cntrl_nodes + dir_cntrl_nodes
|
||||
ruby_system.network.number_of_virtual_networks = 3
|
||||
topology = create_topology(all_cntrls, options)
|
||||
return (cpu_sequencers, dir_cntrl_nodes, topology)
|
||||
return (cpu_sequencers, mem_dir_cntrl_nodes, topology)
|
||||
|
||||
Reference in New Issue
Block a user