summaryrefslogtreecommitdiff
path: root/python/m5/objects/Device.py
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2006-04-11 13:43:15 -0400
committerAli Saidi <saidi@eecs.umich.edu>2006-04-11 13:43:15 -0400
commit194fb50fbd3f00577ce129762c9a8f13c721e4ad (patch)
treefa464892deda45dae86ff3c847cc7ae9aea0db22 /python/m5/objects/Device.py
parentda7990ab337699ae788809ddaea5ba5c363e0015 (diff)
parentf6fc18f03d639098b1421fa3412329773b0a6ab1 (diff)
downloadgem5-194fb50fbd3f00577ce129762c9a8f13c721e4ad.tar.xz
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : ef75b46b9c1c267c84e6bb2b2234d46c4edcda16
Diffstat (limited to 'python/m5/objects/Device.py')
-rw-r--r--python/m5/objects/Device.py37
1 files changed, 8 insertions, 29 deletions
diff --git a/python/m5/objects/Device.py b/python/m5/objects/Device.py
index d7ca014a9..cda3b1824 100644
--- a/python/m5/objects/Device.py
+++ b/python/m5/objects/Device.py
@@ -1,35 +1,14 @@
from m5 import *
-from FunctionalMemory import FunctionalMemory
+from MemObject import MemObject
-# This device exists only because there are some devices that I don't
-# want to have a Platform parameter because it would cause a cycle in
-# the C++ that cannot be easily solved.
-#
-# The real solution to this problem is to pass the ParamXXX structure
-# to the constructor, but with the express condition that SimObject
-# parameter values are not to be available at construction time. If
-# some further configuration must be done, it must be done during the
-# initialization phase at which point all SimObject pointers will be
-# valid.
-class FooPioDevice(FunctionalMemory):
+class PioDevice(MemObject):
type = 'PioDevice'
abstract = True
- addr = Param.Addr("Device Address")
- mmu = Param.MemoryController(Parent.any, "Memory Controller")
- pio_bus = Param.Bus(NULL, "Bus to attach to for PIO")
- pio_latency = Param.Tick(1, "Programmed IO latency in bus cycles")
+ platform = Param.Platform(Parent.any, "Platform this device is part of")
+ system = Param.System(Parent.any, "System this device is part of")
-class FooDmaDevice(FooPioDevice):
- type = 'DmaDevice'
+class BasicPioDevice(PioDevice):
+ type = 'BasicPioDevice'
abstract = True
- dma_bus = Param.Bus(Self.pio_bus, "Bus to attach to for DMA")
-
-class PioDevice(FooPioDevice):
- type = 'PioDevice'
- abstract = True
- platform = Param.Platform(Parent.any, "Platform")
-
-class DmaDevice(PioDevice):
- type = 'DmaDevice'
- abstract = True
- dma_bus = Param.Bus(Self.pio_bus, "Bus to attach to for DMA")
+ pio_addr = Param.Addr("Device Address")
+ pio_latency = Param.Tick(1, "Programmed IO latency in simticks")