T1000.py revision 3814
112472Sglenn.bergmans@arm.comfrom m5.params import * 212472Sglenn.bergmans@arm.comfrom m5.proxy import * 312472Sglenn.bergmans@arm.comfrom Device import BasicPioDevice, IsaFake, BadAddr 412472Sglenn.bergmans@arm.comfrom Uart import Uart8250 512472Sglenn.bergmans@arm.comfrom Platform import Platform 612472Sglenn.bergmans@arm.comfrom SimConsole import SimConsole, ConsoleListener 712472Sglenn.bergmans@arm.com 812472Sglenn.bergmans@arm.comclass T1000(Platform): 912472Sglenn.bergmans@arm.com type = 'T1000' 1012472Sglenn.bergmans@arm.com system = Param.System(Parent.any, "system") 1112472Sglenn.bergmans@arm.com 1212472Sglenn.bergmans@arm.com fake_clk = IsaFake(pio_addr=0x9600000000, pio_size=0x100000000, 134486Sbinkertn@umich.edu warn_access="Accessing Clock Unit -- Unimplemented!") 144486Sbinkertn@umich.edu 154486Sbinkertn@umich.edu fake_membnks = IsaFake(pio_addr=0x9700000000, pio_size=16384, 164486Sbinkertn@umich.edu ret_data64=0x0000000000000000, update_data=False, 174486Sbinkertn@umich.edu warn_access="Accessing Memory Banks -- Unimplemented!") 184486Sbinkertn@umich.edu 194486Sbinkertn@umich.edu fake_iob = IsaFake(pio_addr=0x9800000000, pio_size=0x100000000, 204486Sbinkertn@umich.edu warn_access="Accessing IOB -- Unimplemented!") 214486Sbinkertn@umich.edu 224486Sbinkertn@umich.edu fake_jbi = IsaFake(pio_addr=0x8000000000, pio_size=0x100000000, 234486Sbinkertn@umich.edu warn_access="Accessing JBI -- Unimplemented!") 244486Sbinkertn@umich.edu 254486Sbinkertn@umich.edu fake_l2_1 = IsaFake(pio_addr=0xA900000000, pio_size=0x8, 264486Sbinkertn@umich.edu ret_data64=0x0000000000000001, update_data=True, 274486Sbinkertn@umich.edu warn_access="Accessing L2 Cache Banks -- Unimplemented!") 284486Sbinkertn@umich.edu 294486Sbinkertn@umich.edu fake_l2_2 = IsaFake(pio_addr=0xA900000040, pio_size=0x8, 304486Sbinkertn@umich.edu ret_data64=0x0000000000000001, update_data=True, 314486Sbinkertn@umich.edu warn_access="Accessing L2 Cache Banks -- Unimplemented!") 324486Sbinkertn@umich.edu 334486Sbinkertn@umich.edu fake_l2_3 = IsaFake(pio_addr=0xA900000080, pio_size=0x8, 344486Sbinkertn@umich.edu ret_data64=0x0000000000000001, update_data=True, 354486Sbinkertn@umich.edu warn_access="Accessing L2 Cache Banks -- Unimplemented!") 364486Sbinkertn@umich.edu 374486Sbinkertn@umich.edu fake_l2_4 = IsaFake(pio_addr=0xA9000000C0, pio_size=0x8, 384486Sbinkertn@umich.edu ret_data64=0x0000000000000001, update_data=True, 394486Sbinkertn@umich.edu warn_access="Accessing L2 Cache Banks -- Unimplemented!") 4012472Sglenn.bergmans@arm.com 414486Sbinkertn@umich.edu fake_ssi = IsaFake(pio_addr=0xff00000000, pio_size=0x10000000, 423102SN/A warn_access="Accessing SSI -- Unimplemented!") 433102SN/A 4412472Sglenn.bergmans@arm.com hvuart = Uart8250(pio_addr=0xfff0c2c000) 452542SN/A puart0 = Uart8250(pio_addr=0x1f10000000) 461310SN/A console = SimConsole(listener = ConsoleListener()) 472542SN/A 481366SN/A # Attach I/O devices to specified bus object. Can't do this 499338SAndreas.Sandberg@arm.com # earlier, since the bus object itself is typically defined at the 501310SN/A # System level. 518839Sandreas.hansson@arm.com def attachIO(self, bus): 522542SN/A self.fake_clk.pio = bus.port 531310SN/A self.fake_membnks.pio = bus.port 5412472Sglenn.bergmans@arm.com self.fake_iob.pio = bus.port 5512472Sglenn.bergmans@arm.com self.fake_jbi.pio = bus.port 5612472Sglenn.bergmans@arm.com self.fake_l2_1.pio = bus.port 5712472Sglenn.bergmans@arm.com self.fake_l2_2.pio = bus.port 5812472Sglenn.bergmans@arm.com self.fake_l2_3.pio = bus.port 5912472Sglenn.bergmans@arm.com self.fake_l2_4.pio = bus.port 6012472Sglenn.bergmans@arm.com self.fake_ssi.pio = bus.port 6112472Sglenn.bergmans@arm.com self.puart0.pio = bus.port 6212472Sglenn.bergmans@arm.com self.hvuart.pio = bus.port 6312472Sglenn.bergmans@arm.com