changeset dd9d98c16121 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=dd9d98c16121
description:
        Device: Bump PIO and PCI latencies to more reasonable values

        This patch addresses a previously highlighted issue with the default
        latencies used for PIO and PCI devices. The values are merely educated
        guesses and might not represent the particular system you want to
        model. However, the values in this patch are definitely far more
        realistic than the previous ones.

        In i8254xGBe, the writeConfig method is updated to use configDelay
        instead of pioDelay.

        A follow-up patch will update the regression stats.

diffstat:

 src/dev/Device.py    |  2 +-
 src/dev/Pci.py       |  6 ++----
 src/dev/i8254xGBe.cc |  2 +-
 3 files changed, 4 insertions(+), 6 deletions(-)

diffs (47 lines):

diff -r 0281650db548 -r dd9d98c16121 src/dev/Device.py
--- a/src/dev/Device.py Sun Sep 09 09:33:45 2012 -0500
+++ b/src/dev/Device.py Mon Sep 10 11:57:36 2012 -0400
@@ -40,7 +40,7 @@
     type = 'BasicPioDevice'
     abstract = True
     pio_addr = Param.Addr("Device Address")
-    pio_latency = Param.Latency('1ns', "Programmed IO latency")
+    pio_latency = Param.Latency('100ns', "Programmed IO latency")
 
 class DmaDevice(PioDevice):
     type = 'DmaDevice'
diff -r 0281650db548 -r dd9d98c16121 src/dev/Pci.py
--- a/src/dev/Pci.py    Sun Sep 09 09:33:45 2012 -0500
+++ b/src/dev/Pci.py    Mon Sep 10 11:57:36 2012 -0400
@@ -34,9 +34,7 @@
 class PciConfigAll(PioDevice):
     type = 'PciConfigAll'
     platform = Param.Platform(Parent.any, "Platform this device is part of.")
-    # @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")
+    pio_latency = Param.Latency('30ns', "Programmed IO latency")
     bus = Param.UInt8(0x00, "PCI bus to act as config space for")
     size = Param.MemorySize32('16MB', "Size of config space")
 
@@ -49,7 +47,7 @@
     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")
+    pio_latency = Param.Latency('30ns', "Programmed IO latency")
     config_latency = Param.Latency('20ns', "Config read or write latency")
 
     VendorID = Param.UInt16("Vendor ID")
diff -r 0281650db548 -r dd9d98c16121 src/dev/i8254xGBe.cc
--- a/src/dev/i8254xGBe.cc      Sun Sep 09 09:33:45 2012 -0500
+++ b/src/dev/i8254xGBe.cc      Mon Sep 10 11:57:36 2012 -0400
@@ -160,7 +160,7 @@
     // Some work may need to be done here based for the pci COMMAND bits.
     //
 
-    return pioDelay;
+    return configDelay;
 }
 
 // Handy macro for range-testing register access addresses
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to