Ide.py revision 2916
110152Satgutier@umich.edufrom m5.config import *
210152Satgutier@umich.edufrom Pci import PciDevice, PciConfigData
310152Satgutier@umich.edu
410152Satgutier@umich.educlass IdeID(Enum): vals = ['master', 'slave']
510234Syasuko.eckert@amd.com
610152Satgutier@umich.educlass IdeControllerPciData(PciConfigData):
710152Satgutier@umich.edu    VendorID = 0x8086
810152Satgutier@umich.edu    DeviceID = 0x7111
910152Satgutier@umich.edu    Command = 0x0
1010152Satgutier@umich.edu    Status = 0x280
1110152Satgutier@umich.edu    Revision = 0x0
1210152Satgutier@umich.edu    ClassCode = 0x01
1310152Satgutier@umich.edu    SubClassCode = 0x01
1410152Satgutier@umich.edu    ProgIF = 0x85
1510152Satgutier@umich.edu    BAR0 = 0x00000001
1610152Satgutier@umich.edu    BAR1 = 0x00000001
1710152Satgutier@umich.edu    BAR2 = 0x00000001
1810152Satgutier@umich.edu    BAR3 = 0x00000001
1910152Satgutier@umich.edu    BAR4 = 0x00000001
2010152Satgutier@umich.edu    BAR5 = 0x00000001
2110152Satgutier@umich.edu    InterruptLine = 0x1f
2210152Satgutier@umich.edu    InterruptPin = 0x01
2310152Satgutier@umich.edu    BAR0Size = '8B'
2410152Satgutier@umich.edu    BAR1Size = '4B'
2510152Satgutier@umich.edu    BAR2Size = '8B'
2610152Satgutier@umich.edu    BAR3Size = '4B'
2710152Satgutier@umich.edu    BAR4Size = '16B'
2810152Satgutier@umich.edu
2910234Syasuko.eckert@amd.comclass IdeDisk(SimObject):
3010152Satgutier@umich.edu    type = 'IdeDisk'
3110152Satgutier@umich.edu    delay = Param.Latency('1us', "Fixed disk delay in microseconds")
3210152Satgutier@umich.edu    driveID = Param.IdeID('master', "Drive ID")
3310152Satgutier@umich.edu    image = Param.DiskImage("Disk image")
3410152Satgutier@umich.edu
3510234Syasuko.eckert@amd.comclass IdeController(PciDevice):
3610152Satgutier@umich.edu    type = 'IdeController'
3710152Satgutier@umich.edu    disks = VectorParam.IdeDisk("IDE disks attached to this controller")
3810152Satgutier@umich.edu
3910152Satgutier@umich.edu    configdata =IdeControllerPciData()
4010152Satgutier@umich.edu