changeset 13ffc0066b76 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=13ffc0066b76
description:
        dev: make BasicPioDevice take size in constructor

        Instead of relying on derived classes explicitly assigning
        to the BasicPioDevice pioSize field, require them to pass
        a size value in to the constructor.

        Committed by: Nilay Vaish <[email protected]>

diffstat:

 src/arch/x86/interrupts.cc     |   3 +--
 src/dev/alpha/backdoor.cc      |   6 ++----
 src/dev/alpha/tsunami_cchip.cc |   4 +---
 src/dev/alpha/tsunami_io.cc    |   4 +---
 src/dev/alpha/tsunami_pchip.cc |   4 +---
 src/dev/arm/a9scu.cc           |   3 +--
 src/dev/arm/amba_device.cc     |   9 +++++----
 src/dev/arm/amba_device.hh     |   4 ++--
 src/dev/arm/amba_fake.cc       |   3 +--
 src/dev/arm/kmi.cc             |   8 +++-----
 src/dev/arm/pl011.cc           |   5 ++---
 src/dev/arm/rtc_pl031.cc       |   7 +++----
 src/dev/arm/rv_ctrl.cc         |   3 +--
 src/dev/arm/timer_cpulocal.cc  |   3 +--
 src/dev/arm/timer_sp804.cc     |   4 ++--
 src/dev/baddev.cc              |   3 +--
 src/dev/io_device.cc           |   4 ++--
 src/dev/io_device.hh           |   2 +-
 src/dev/isa_fake.cc            |   5 +----
 src/dev/mips/malta_cchip.cc    |   3 +--
 src/dev/mips/malta_io.cc       |   4 +---
 src/dev/mips/malta_pchip.cc    |   4 +---
 src/dev/pciconfigall.cc        |   4 +---
 src/dev/sparc/dtod.cc          |   4 +---
 src/dev/sparc/mm_disk.cc       |   4 ++--
 src/dev/uart.cc                |   4 ++--
 src/dev/uart.hh                |   2 +-
 src/dev/uart8250.cc            |   3 +--
 src/dev/x86/cmos.hh            |   3 +--
 src/dev/x86/i8042.cc           |  18 ++++++++++++++++++
 src/dev/x86/i8042.hh           |  14 +-------------
 src/dev/x86/i82094aa.cc        |   4 +---
 src/dev/x86/i8237.hh           |   3 +--
 src/dev/x86/i8254.hh           |   3 +--
 src/dev/x86/i8259.cc           |  12 ++++++------
 src/dev/x86/speaker.hh         |   3 +--
 36 files changed, 73 insertions(+), 103 deletions(-)

diffs (truncated from 612 to 300 lines):

diff -r 63d7362bbdf2 -r 13ffc0066b76 src/arch/x86/interrupts.cc
--- a/src/arch/x86/interrupts.cc        Thu Jul 11 21:56:50 2013 -0500
+++ b/src/arch/x86/interrupts.cc        Thu Jul 11 21:57:04 2013 -0500
@@ -608,7 +608,7 @@
 
 
 X86ISA::Interrupts::Interrupts(Params * p)
-    : BasicPioDevice(p), IntDevice(this, p->int_latency),
+    : BasicPioDevice(p, PageBytes), IntDevice(this, p->int_latency),
       apicTimerEvent(this),
       pendingSmi(false), smiVector(0),
       pendingNmi(false), nmiVector(0),
@@ -619,7 +619,6 @@
       pendingIPIs(0), cpu(NULL),
       intSlavePort(name() + ".int_slave", this, this)
 {
-    pioSize = PageBytes;
     memset(regs, 0, sizeof(regs));
     //Set the local apic DFR to the flat model.
     regs[APIC_DESTINATION_FORMAT] = (uint32_t)(-1);
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/alpha/backdoor.cc
--- a/src/dev/alpha/backdoor.cc Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/alpha/backdoor.cc Thu Jul 11 21:57:04 2013 -0500
@@ -62,12 +62,10 @@
 using namespace AlphaISA;
 
 AlphaBackdoor::AlphaBackdoor(const Params *p)
-    : BasicPioDevice(p), disk(p->disk), terminal(p->terminal),
+    : BasicPioDevice(p, sizeof(struct AlphaAccess)),
+      disk(p->disk), terminal(p->terminal),
       system(p->system), cpu(p->cpu)
 {
-
-    pioSize = sizeof(struct AlphaAccess);
-
     alphaAccess = new Access();
     alphaAccess->last_offset = pioSize - 1;
 
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/alpha/tsunami_cchip.cc
--- a/src/dev/alpha/tsunami_cchip.cc    Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/alpha/tsunami_cchip.cc    Thu Jul 11 21:57:04 2013 -0500
@@ -57,10 +57,8 @@
 using namespace TheISA;
 
 TsunamiCChip::TsunamiCChip(const Params *p)
-    : BasicPioDevice(p), tsunami(p->tsunami)
+    : BasicPioDevice(p, 0x10000000), tsunami(p->tsunami)
 {
-    pioSize = 0x10000000;
-
     drir = 0;
     ipint = 0;
     itint = 0;
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/alpha/tsunami_io.cc
--- a/src/dev/alpha/tsunami_io.cc       Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/alpha/tsunami_io.cc       Thu Jul 11 21:57:04 2013 -0500
@@ -69,11 +69,9 @@
 }
 
 TsunamiIO::TsunamiIO(const Params *p)
-    : BasicPioDevice(p), tsunami(p->tsunami),
+    : BasicPioDevice(p, 0x100), tsunami(p->tsunami),
       pitimer(this, p->name + "pitimer"), rtc(p->name + ".rtc", p)
 {
-    pioSize = 0x100;
-
     // set the back pointer from tsunami to myself
     tsunami->io = this;
 
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/alpha/tsunami_pchip.cc
--- a/src/dev/alpha/tsunami_pchip.cc    Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/alpha/tsunami_pchip.cc    Thu Jul 11 21:57:04 2013 -0500
@@ -52,10 +52,8 @@
 using namespace TheISA;
 
 TsunamiPChip::TsunamiPChip(const Params *p)
-: BasicPioDevice(p)
+    : BasicPioDevice(p, 0x1000)
 {
-    pioSize = 0x1000;
-
     for (int i = 0; i < 4; i++) {
         wsba[i] = 0;
         wsm[i] = 0;
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/a9scu.cc
--- a/src/dev/arm/a9scu.cc      Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/a9scu.cc      Thu Jul 11 21:57:04 2013 -0500
@@ -45,9 +45,8 @@
 #include "sim/system.hh"
 
 A9SCU::A9SCU(Params *p)
-    : BasicPioDevice(p)
+    : BasicPioDevice(p, 0x60)
 {
-    pioSize = 0x60;
 }
 
 Tick
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/amba_device.cc
--- a/src/dev/arm/amba_device.cc        Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/amba_device.cc        Thu Jul 11 21:57:04 2013 -0500
@@ -49,13 +49,14 @@
 
 const uint64_t AmbaVendor = ULL(0xb105f00d00000000);
 
-AmbaPioDevice::AmbaPioDevice(const Params *p)
-    : BasicPioDevice(p), ambaId(AmbaVendor | p->amba_id)
+AmbaPioDevice::AmbaPioDevice(const Params *p, Addr pio_size)
+    : BasicPioDevice(p, pio_size), ambaId(AmbaVendor | p->amba_id)
 {
 }
 
-AmbaIntDevice::AmbaIntDevice(const Params *p)
-    : AmbaPioDevice(p), intNum(p->int_num), gic(p->gic), intDelay(p->int_delay)
+AmbaIntDevice::AmbaIntDevice(const Params *p, Addr pio_size)
+    : AmbaPioDevice(p, pio_size),
+      intNum(p->int_num), gic(p->gic), intDelay(p->int_delay)
 {
 }
 
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/amba_device.hh
--- a/src/dev/arm/amba_device.hh        Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/amba_device.hh        Thu Jul 11 21:57:04 2013 -0500
@@ -82,7 +82,7 @@
 
   public:
     typedef AmbaPioDeviceParams Params;
-    AmbaPioDevice(const Params *p);
+    AmbaPioDevice(const Params *p, Addr pio_size);
 };
 
 class AmbaIntDevice : public AmbaPioDevice
@@ -94,7 +94,7 @@
 
   public:
     typedef AmbaIntDeviceParams Params;
-    AmbaIntDevice(const Params *p);
+    AmbaIntDevice(const Params *p, Addr pio_size);
 };
 
 class AmbaDmaDevice : public DmaDevice, public AmbaDevice
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/amba_fake.cc
--- a/src/dev/arm/amba_fake.cc  Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/amba_fake.cc  Thu Jul 11 21:57:04 2013 -0500
@@ -47,9 +47,8 @@
 #include "mem/packet_access.hh"
 
 AmbaFake::AmbaFake(const Params *p)
-    : AmbaPioDevice(p)
+    : AmbaPioDevice(p, 0xfff)
 {
-    pioSize = 0xfff;
 }
 
 Tick
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/kmi.cc
--- a/src/dev/arm/kmi.cc        Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/kmi.cc        Thu Jul 11 21:57:04 2013 -0500
@@ -51,12 +51,10 @@
 #include "mem/packet_access.hh"
 
 Pl050::Pl050(const Params *p)
-    : AmbaIntDevice(p), control(0), status(0x43), clkdiv(0), interrupts(0),
-      rawInterrupts(0), ackNext(false), shiftDown(false), vnc(p->vnc),
-      driverInitialized(false), intEvent(this)
+    : AmbaIntDevice(p, 0xfff), control(0), status(0x43), clkdiv(0),
+      interrupts(0), rawInterrupts(0), ackNext(false), shiftDown(false),
+      vnc(p->vnc), driverInitialized(false), intEvent(this)
 {
-    pioSize = 0xfff;
-
     if (vnc) {
         if (!p->is_mouse)
             vnc->setKeyboard(this);
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/pl011.cc
--- a/src/dev/arm/pl011.cc      Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/pl011.cc      Thu Jul 11 21:57:04 2013 -0500
@@ -52,11 +52,10 @@
 #include "sim/sim_exit.hh"
 
 Pl011::Pl011(const Params *p)
-    : Uart(p), control(0x300), fbrd(0), ibrd(0), lcrh(0), ifls(0x12), imsc(0),
-      rawInt(0), maskInt(0), intNum(p->int_num), gic(p->gic),
+    : Uart(p, 0xfff), control(0x300), fbrd(0), ibrd(0), lcrh(0), ifls(0x12),
+      imsc(0), rawInt(0), maskInt(0), intNum(p->int_num), gic(p->gic),
       endOnEOT(p->end_on_eot), intDelay(p->int_delay), intEvent(this)
 {
-    pioSize = 0xfff;
 }
 
 Tick
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/rtc_pl031.cc
--- a/src/dev/arm/rtc_pl031.cc  Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/rtc_pl031.cc  Thu Jul 11 21:57:04 2013 -0500
@@ -49,11 +49,10 @@
 #include "mem/packet_access.hh"
 
 PL031::PL031(Params *p)
-    : AmbaIntDevice(p), timeVal(mkutctime(&p->time)), lastWrittenTick(0),
-            loadVal(0), matchVal(0), rawInt(false), maskInt(false),
-            pendingInt(false), matchEvent(this)
+    : AmbaIntDevice(p, 0xfff), timeVal(mkutctime(&p->time)),
+      lastWrittenTick(0), loadVal(0), matchVal(0),
+      rawInt(false), maskInt(false), pendingInt(false), matchEvent(this)
 {
-    pioSize = 0xfff;
 }
 
 
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/rv_ctrl.cc
--- a/src/dev/arm/rv_ctrl.cc    Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/rv_ctrl.cc    Thu Jul 11 21:57:04 2013 -0500
@@ -43,9 +43,8 @@
 #include "mem/packet_access.hh"
 
 RealViewCtrl::RealViewCtrl(Params *p)
-    : BasicPioDevice(p), flags(0)
+    : BasicPioDevice(p, 0xD4), flags(0)
 {
-    pioSize = 0xD4;
 }
 
 Tick
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/timer_cpulocal.cc
--- a/src/dev/arm/timer_cpulocal.cc     Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/timer_cpulocal.cc     Thu Jul 11 21:57:04 2013 -0500
@@ -48,7 +48,7 @@
 #include "mem/packet_access.hh"
 
 CpuLocalTimer::CpuLocalTimer(Params *p)
-    : BasicPioDevice(p), gic(p->gic)
+    : BasicPioDevice(p, 0x38), gic(p->gic)
 {
    // Initialize the timer registers for each per cpu timer
    for (int i = 0; i < CPU_MAX; i++) {
@@ -60,7 +60,6 @@
         localTimer[i].intNumWatchdog = p->int_num_watchdog;
         localTimer[i].cpuNum = i;
     }
-    pioSize = 0x38;
 }
 
 CpuLocalTimer::Timer::Timer()
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/arm/timer_sp804.cc
--- a/src/dev/arm/timer_sp804.cc        Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/arm/timer_sp804.cc        Thu Jul 11 21:57:04 2013 -0500
@@ -47,10 +47,10 @@
 #include "mem/packet_access.hh"
 
 Sp804::Sp804(Params *p)
-    : AmbaPioDevice(p), gic(p->gic), timer0(name() + ".timer0", this, 
p->int_num0, p->clock0),
+    : AmbaPioDevice(p, 0xfff), gic(p->gic),
+      timer0(name() + ".timer0", this, p->int_num0, p->clock0),
       timer1(name() + ".timer1", this, p->int_num1, p->clock1)
 {
-    pioSize = 0xfff;
 }
 
 Sp804::Timer::Timer(std::string __name, Sp804 *_parent, int int_num, Tick 
_clock)
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/baddev.cc
--- a/src/dev/baddev.cc Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/baddev.cc Thu Jul 11 21:57:04 2013 -0500
@@ -46,9 +46,8 @@
 using namespace std;
 
 BadDevice::BadDevice(Params *p)
-    : BasicPioDevice(p), devname(p->devicename)
+    : BasicPioDevice(p, 0x10), devname(p->devicename)
 {
-    pioSize = 0x10;
 }
 
 Tick
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/io_device.cc
--- a/src/dev/io_device.cc      Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/io_device.cc      Thu Jul 11 21:57:04 2013 -0500
@@ -103,8 +103,8 @@
     return count;
 }
 
-BasicPioDevice::BasicPioDevice(const Params *p)
-    : PioDevice(p), pioAddr(p->pio_addr), pioSize(0),
+BasicPioDevice::BasicPioDevice(const Params *p, Addr size)
+    : PioDevice(p), pioAddr(p->pio_addr), pioSize(size),
       pioDelay(p->pio_latency)
 {}
 
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/io_device.hh
--- a/src/dev/io_device.hh      Thu Jul 11 21:56:50 2013 -0500
+++ b/src/dev/io_device.hh      Thu Jul 11 21:57:04 2013 -0500
@@ -148,7 +148,7 @@
 
   public:
     typedef BasicPioDeviceParams Params;
-    BasicPioDevice(const Params *p);
+    BasicPioDevice(const Params *p, Addr size);
 
     const Params *
     params() const
diff -r 63d7362bbdf2 -r 13ffc0066b76 src/dev/isa_fake.cc
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to