diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-10-04 02:26:03 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-10-04 02:26:03 -0700 |
commit | d3683440923051607ae96974fb2bdc5783993bf4 (patch) | |
tree | 45b500db2e2dd4cca5fc00f2fbb7371e488d1a51 /src/dev/arm | |
parent | e2dbe59f5dd63ad7a84df701dfbd033320cb8bf9 (diff) | |
download | gem5-d3683440923051607ae96974fb2bdc5783993bf4.tar.xz |
SE/FS: Put platform pointers in fewer objects.
Not all objects need a platform pointer, and having one creates a dependence
on their being a platform object. This change removes the platform pointer to
from the base device object and moves it into subclasses that actually need
it.
Diffstat (limited to 'src/dev/arm')
-rw-r--r-- | src/dev/arm/RealView.py | 1 | ||||
-rw-r--r-- | src/dev/arm/gic.cc | 7 | ||||
-rw-r--r-- | src/dev/arm/gic.hh | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py index 96f3c8a61..11905ae79 100644 --- a/src/dev/arm/RealView.py +++ b/src/dev/arm/RealView.py @@ -83,6 +83,7 @@ class RealViewCtrl(BasicPioDevice): class Gic(PioDevice): type = 'Gic' + platform = Param.Platform(Parent.any, "Platform this device is part of.") dist_addr = Param.Addr(0x1f001000, "Address for distributor") cpu_addr = Param.Addr(0x1f000100, "Address for cpu") dist_pio_delay = Param.Latency('10ns', "Delay for PIO r/w to distributor") diff --git a/src/dev/arm/gic.cc b/src/dev/arm/gic.cc index ddea4873f..67520f865 100644 --- a/src/dev/arm/gic.cc +++ b/src/dev/arm/gic.cc @@ -53,9 +53,10 @@ #include "mem/packet_access.hh" Gic::Gic(const Params *p) - : PioDevice(p),distAddr(p->dist_addr), cpuAddr(p->cpu_addr), - distPioDelay(p->dist_pio_delay), cpuPioDelay(p->cpu_pio_delay), - intLatency(p->int_latency), enabled(false), itLines(p->it_lines) + : PioDevice(p), platform(p->platform), distAddr(p->dist_addr), + cpuAddr(p->cpu_addr), distPioDelay(p->dist_pio_delay), + cpuPioDelay(p->cpu_pio_delay), intLatency(p->int_latency), + enabled(false), itLines(p->it_lines) { itLinesLog2 = ceilLog2(itLines); diff --git a/src/dev/arm/gic.hh b/src/dev/arm/gic.hh index 4c43db660..6988d6ed1 100644 --- a/src/dev/arm/gic.hh +++ b/src/dev/arm/gic.hh @@ -124,6 +124,8 @@ class Gic : public PioDevice Bitfield<12,10> cpu_id; EndBitUnion(IAR) + Platform *platform; + /** Distributor address GIC listens at */ Addr distAddr; |