summaryrefslogtreecommitdiff
path: root/src/dev/sparc/iob.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-07-24 15:48:40 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-07-24 15:48:40 -0700
commit26b1c455e0aed69eda0cc165b5084edb1b557c38 (patch)
tree0b7ffa9259c55f9a639a12f09ddef033d78b084b /src/dev/sparc/iob.hh
parent02c39000bfc6be620382bf89636e3b1bbb2f4cf6 (diff)
parentabc76f20cb98c90e8dab416dd16dfd4a954013ba (diff)
downloadgem5-26b1c455e0aed69eda0cc165b5084edb1b557c38.tar.xz
Merge with head.
--HG-- extra : convert_revision : 4a34b3f91c4fc90055596245ae3efec45ea33888
Diffstat (limited to 'src/dev/sparc/iob.hh')
-rw-r--r--src/dev/sparc/iob.hh21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/dev/sparc/iob.hh b/src/dev/sparc/iob.hh
index c05c4f2ef..b2fd6cbf6 100644
--- a/src/dev/sparc/iob.hh
+++ b/src/dev/sparc/iob.hh
@@ -39,6 +39,7 @@
#include "base/range.hh"
#include "dev/io_device.hh"
#include "dev/disk_image.hh"
+#include "params/Iob.hh"
class IntrControl;
@@ -123,24 +124,22 @@ class Iob : public PioDevice
void readIob(PacketPtr pkt);
void readJBus(PacketPtr pkt);
-
public:
- struct Params : public PioDevice::Params
- {
- Tick pio_delay;
- };
- protected:
- const Params *params() const { return (const Params*)_params; }
+ typedef IobParams Params;
+ Iob(const Params *p);
- public:
- Iob(Params *p);
+ const Params *
+ params() const
+ {
+ return dynamic_cast<const Params *>(_params);
+ }
virtual Tick read(PacketPtr pkt);
virtual Tick write(PacketPtr pkt);
void generateIpi(Type type, int cpu_id, int vector);
void receiveDeviceInterrupt(DeviceId devid);
- bool receiveJBusInterrupt(int cpu_id, int source, uint64_t d0, uint64_t d1);
-
+ bool receiveJBusInterrupt(int cpu_id, int source, uint64_t d0,
+ uint64_t d1);
void addressRanges(AddrRangeList &range_list);