Merge vm1.(none):/home/stever/bk/newmem-head
[gem5.git] / src / python / m5 / objects / Device.py
1 from m5.params import *
2 from m5.proxy import *
3 from MemObject import MemObject
4
5 class PioDevice(MemObject):
6 type = 'PioDevice'
7 abstract = True
8 pio = Port("Programmed I/O port")
9 platform = Param.Platform(Parent.any, "Platform this device is part of")
10 system = Param.System(Parent.any, "System this device is part of")
11
12 class BasicPioDevice(PioDevice):
13 type = 'BasicPioDevice'
14 abstract = True
15 pio_addr = Param.Addr("Device Address")
16 pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
17
18 class DmaDevice(PioDevice):
19 type = 'DmaDevice'
20 abstract = True
21 dma = Port(Self.pio.peerObj.port, "DMA port")