mem: Split memory controller into base MemCtrl and HeteroMemCtrl
This change splits the default gem5 memory controller into two memory controllers: MemCtrl (base memory controller which can be used with only a single memory interface dram/nvm), and HeteroMemCtrl (heterogeneous memory controller which inherits from MemCtrl and requires a dram and an nvm memory interface). New arguments are added to many of the base class (MemCtrl) functions (for example memory inteface to use that function for) which helps in easier use of these in the inherited class (HeteroMemCtrl). Change-Id: Ifa4e9f9f1560c47063d1a8159a8c94add2e670bb Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/59731 Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
This commit is contained in:
committed by
Bobby Bruce
parent
c7c11c5661
commit
b0fd05dd3d
@@ -235,7 +235,7 @@ def config_mem(options, system):
|
||||
# Create a controller if not sharing a channel with DRAM
|
||||
# in which case the controller has already been created
|
||||
if not opt_hybrid_channel:
|
||||
mem_ctrl = m5.objects.MemCtrl()
|
||||
mem_ctrl = m5.objects.HeteroMemCtrl()
|
||||
mem_ctrl.nvm = nvm_intf
|
||||
|
||||
mem_ctrls.append(mem_ctrl)
|
||||
|
||||
Reference in New Issue
Block a user