class X86LocalApic(BasicPioDevice):
type = 'X86LocalApic'
cxx_class = 'X86ISA::Interrupts'
- pio_latency = Param.Latency('1ns', 'Programmed IO latency in simticks')
int_master = MasterPort("Port for sending interrupt messages")
int_slave = SlavePort("Port for receiving interrupt messages")
int_latency = Param.Latency('1ns', \
type = 'BasicPioDevice'
abstract = True
pio_addr = Param.Addr("Device Address")
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
+ pio_latency = Param.Latency('1ns', "Programmed IO latency")
class DmaDevice(PioDevice):
type = 'DmaDevice'
class PciConfigAll(PioDevice):
type = 'PciConfigAll'
platform = Param.Platform(Parent.any, "Platform this device is part of.")
- pio_latency = Param.Tick(1, "Programmed IO latency in simticks")
+ # @todo: This latency is unrealistically low and only kept at 1 tick
+ # to not change any regressions
+ pio_latency = Param.Latency('1t', "Programmed IO latency")
bus = Param.UInt8(0x00, "PCI bus to act as config space for")
size = Param.MemorySize32('16MB', "Size of config space")
pci_bus = Param.Int("PCI bus")
pci_dev = Param.Int("PCI device number")
pci_func = Param.Int("PCI function code")
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
+ pio_latency = Param.Latency('1ns', "Programmed IO latency")
config_latency = Param.Latency('20ns', "Config read or write latency")
VendorID = Param.UInt16("Vendor ID")
class Iob(PioDevice):
type = 'Iob'
platform = Param.Platform(Parent.any, "Platform this device is part of.")
- pio_latency = Param.Latency('1ns', "Programed IO latency in simticks")
+ pio_latency = Param.Latency('1ns', "Programed IO latency")
class T1000(Platform):
cxx_class='X86ISA::Cmos'
time = Param.Time('01/01/2012',
"System time to use ('Now' for actual time)")
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
int_pin = Param.X86IntSourcePin(X86IntSourcePin(),
'Pin to signal RTC alarm interrupts to')
class I8042(BasicPioDevice):
type = 'I8042'
cxx_class = 'X86ISA::I8042'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
# This isn't actually used for anything here.
pio_addr = 0x0
data_port = Param.Addr('Data port address')
type = 'I82094AA'
cxx_class = 'X86ISA::I82094AA'
apic_id = Param.Int(1, 'APIC id for this IO APIC')
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
- pio_addr = Param.Addr("Device address")
int_master = MasterPort("Port for sending interrupt messages")
int_latency = Param.Latency('1ns', \
"Latency for an interrupt to propagate through this device.")
class I8237(BasicPioDevice):
type = 'I8237'
cxx_class = 'X86ISA::I8237'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
class I8254(BasicPioDevice):
type = 'I8254'
cxx_class = 'X86ISA::I8254'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
int_pin = Param.X86IntSourcePin(X86IntSourcePin(),
'Pin to signal timer interrupts to')
class I8259(BasicPioDevice):
type = 'I8259'
cxx_class='X86ISA::I8259'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
output = Param.X86IntSourcePin(X86IntSourcePin(),
'The pin this I8259 drives')
mode = Param.X86I8259CascadeMode('How this I8259 is cascaded')
class PcSpeaker(BasicPioDevice):
type = 'PcSpeaker'
cxx_class = 'X86ISA::Speaker'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
i8254 = Param.I8254('Timer that drives the speaker')
class SouthBridge(SimObject):
type = 'SouthBridge'
- pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
platform = Param.Platform(Parent.any, "Platform this device is part of")
_pic1 = I8259(pio_addr=x86IOAddress(0x20), mode='I8259Master')