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