summaryrefslogtreecommitdiff
path: root/src/python/m5/objects/T1000.py
blob: bb0d37bf80e2aa0d147c9daa50b72c4a17349645 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from m5.params import *
from m5.proxy import *
from Device import BasicPioDevice
from Uart import Uart8250
from Platform import Platform
from SimConsole import SimConsole, ConsoleListener

class IsaFake(BasicPioDevice):
    type = 'IsaFake'
    pio_size = Param.Addr(0x8, "Size of address range")
    ret_data = Param.UInt8(0xFF, "Default data to return")
    ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access")

class BadAddr(IsaFake):
    ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access")

class T1000(Platform):
    type = 'T1000'
    system = Param.System(Parent.any, "system")

    fake_iob = IsaFake(pio_addr=0x8000000000, pio_size=0x7F00000000)

    uart = Uart8250(pio_addr=0xfff0c2c000)
    console = SimConsole(listener = ConsoleListener())

    # Attach I/O devices to specified bus object.  Can't do this
    # earlier, since the bus object itself is typically defined at the
    # System level.
    def attachIO(self, bus):
        self.fake_iob.pio = bus.port
        self.uart.pio = bus.port