Device.py (9162:019047ead23b) | Device.py (9165:f9e3dac185ba) |
---|---|
1# Copyright (c) 2005-2007 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 32 unchanged lines hidden (view full) --- 41 abstract = True 42 pio_addr = Param.Addr("Device Address") 43 pio_latency = Param.Latency('1ns', "Programmed IO latency") 44 45class DmaDevice(PioDevice): 46 type = 'DmaDevice' 47 abstract = True 48 dma = MasterPort("DMA port") | 1# Copyright (c) 2005-2007 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 32 unchanged lines hidden (view full) --- 41 abstract = True 42 pio_addr = Param.Addr("Device Address") 43 pio_latency = Param.Latency('1ns', "Programmed IO latency") 44 45class DmaDevice(PioDevice): 46 type = 'DmaDevice' 47 abstract = True 48 dma = MasterPort("DMA port") |
49 min_backoff_delay = Param.Latency('4ns', 50 "min time between a nack packet being received and the next request made by the device") 51 max_backoff_delay = Param.Latency('10us', 52 "max time between a nack packet being received and the next request made by the device") | |
53 54 | 49 50 |
55 | |
56class IsaFake(BasicPioDevice): 57 type = 'IsaFake' 58 pio_size = Param.Addr(0x8, "Size of address range") 59 ret_data8 = Param.UInt8(0xFF, "Default data to return") 60 ret_data16 = Param.UInt16(0xFFFF, "Default data to return") 61 ret_data32 = Param.UInt32(0xFFFFFFFF, "Default data to return") 62 ret_data64 = Param.UInt64(0xFFFFFFFFFFFFFFFF, "Default data to return") 63 ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access") 64 update_data = Param.Bool(False, "Update the data that is returned on writes") 65 warn_access = Param.String("", "String to print when device is accessed") 66 fake_mem = Param.Bool(False, 67 "Is this device acting like a memory and thus may get a cache line sized req") 68 69class BadAddr(IsaFake): 70 pio_addr = 0 71 ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access") 72 73 | 51class IsaFake(BasicPioDevice): 52 type = 'IsaFake' 53 pio_size = Param.Addr(0x8, "Size of address range") 54 ret_data8 = Param.UInt8(0xFF, "Default data to return") 55 ret_data16 = Param.UInt16(0xFFFF, "Default data to return") 56 ret_data32 = Param.UInt32(0xFFFFFFFF, "Default data to return") 57 ret_data64 = Param.UInt64(0xFFFFFFFFFFFFFFFF, "Default data to return") 58 ret_bad_addr = Param.Bool(False, "Return pkt status bad address on access") 59 update_data = Param.Bool(False, "Update the data that is returned on writes") 60 warn_access = Param.String("", "String to print when device is accessed") 61 fake_mem = Param.Bool(False, 62 "Is this device acting like a memory and thus may get a cache line sized req") 63 64class BadAddr(IsaFake): 65 pio_addr = 0 66 ret_bad_addr = Param.Bool(True, "Return pkt status bad address on access") 67 68 |