#ifndef __DEV_SPARC_IOB_HH__
#define __DEV_SPARC_IOB_HH__
-#include "base/range.hh"
-#include "dev/io_device.hh"
#include "dev/disk_image.hh"
+#include "dev/io_device.hh"
+#include "params/Iob.hh"
class IntrControl;
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);
+ AddrRangeList getAddrRanges() const;
virtual void serialize(std::ostream &os);
virtual void unserialize(Checkpoint *cp, const std::string §ion);