Ciro Santilli has submitted this change and it was merged. (
https://gem5-review.googlesource.com/c/public/gem5/+/12491 )
Change subject: dev-arm: improve Pl390 parameters
......................................................................
dev-arm: improve Pl390 parameters
Remove default dist_addr and cpu_addr register addresses since those are
purely platform specific.
Parametrize the cpu_size parameter. RealViewPBX has the Gic CPU and
distributor base too close for the newer CPU size of 0x2000, leading to
overlap.
This was introduced in I90a9f669a46a37d79c6cc542087cf91f2044f104 and makes
using RealViewPBX fail with:
fatal: system.membus has two ports responding within range
[0x1f000100 : 0x1f0020ff]:
system.realview.gic.pio
system.realview.gic.pio
Change-Id: Ic6c0e6b3d4705ff369eb739d54a1173a47819b7d
Reviewed-by: Andreas Sandberg <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/12491
Maintainer: Andreas Sandberg <[email protected]>
---
M src/dev/arm/Gic.py
M src/dev/arm/RealView.py
M src/dev/arm/gic_pl390.cc
M src/dev/arm/gic_pl390.hh
4 files changed, 5 insertions(+), 6 deletions(-)
Approvals:
Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
diff --git a/src/dev/arm/Gic.py b/src/dev/arm/Gic.py
index 4cc661f..3d49c85 100644
--- a/src/dev/arm/Gic.py
+++ b/src/dev/arm/Gic.py
@@ -72,8 +72,9 @@
type = 'Pl390'
cxx_header = "dev/arm/gic_pl390.hh"
- dist_addr = Param.Addr(0x1f001000, "Address for distributor")
- cpu_addr = Param.Addr(0x1f000100, "Address for cpu")
+ dist_addr = Param.Addr("Address for distributor")
+ cpu_addr = Param.Addr("Address for cpu")
+ cpu_size = Param.Addr(0x2000, "Size of cpu register bank")
dist_pio_delay = Param.Latency('10ns', "Delay for PIO r/w to
distributor")
cpu_pio_delay = Param.Latency('10ns', "Delay for PIO r/w to cpu
interface")
int_latency = Param.Latency('10ns', "Delay for interrupt to get to
CPU")
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index a1b3130..d38b867 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -614,7 +614,7 @@
realview_io = RealViewCtrl(pio_addr=0x10000000)
mcc = VExpressMCC()
dcc = CoreTile2A15DCC()
- gic = Pl390()
+ gic = Pl390(cpu_addr=0x1f000100, dist_addr=0x1f001000, cpu_size=0x100)
pci_host = GenericPciHost(
conf_base=0x30000000, conf_size='256MB', conf_device_bits=16,
pci_pio_base=0)
diff --git a/src/dev/arm/gic_pl390.cc b/src/dev/arm/gic_pl390.cc
index b0c4e99..9b671e0 100644
--- a/src/dev/arm/gic_pl390.cc
+++ b/src/dev/arm/gic_pl390.cc
@@ -65,7 +65,7 @@
Pl390::Pl390(const Params *p)
: BaseGic(p),
distRange(RangeSize(p->dist_addr, DIST_SIZE)),
- cpuRange(RangeSize(p->cpu_addr, CPU_SIZE)),
+ cpuRange(RangeSize(p->cpu_addr, p->cpu_size)),
addrRanges{distRange, cpuRange},
distPioDelay(p->dist_pio_delay),
cpuPioDelay(p->cpu_pio_delay), intLatency(p->int_latency),
diff --git a/src/dev/arm/gic_pl390.hh b/src/dev/arm/gic_pl390.hh
index 7fd4bcb..7183877 100644
--- a/src/dev/arm/gic_pl390.hh
+++ b/src/dev/arm/gic_pl390.hh
@@ -110,8 +110,6 @@
GICC_APR2 = 0xd8, // active priority register 2
GICC_APR3 = 0xdc, // active priority register 3
GICC_IIDR = 0xfc, // cpu interface id register
-
- CPU_SIZE = 0x2000,
};
static const int SGI_MAX = 16; // Number of Software Gen Interrupts
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/12491
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ic6c0e6b3d4705ff369eb739d54a1173a47819b7d
Gerrit-Change-Number: 12491
Gerrit-PatchSet: 3
Gerrit-Owner: Ciro Santilli <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Ciro Santilli <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev