X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fdev%2Fbaddev.hh;h=9cf592c0ef5fb5cb90d6bf4388eceff5d68bcc57;hb=a01437ab03fedd65405f214aacb0416088704505;hp=35ae0382a51bd83e5662be0484956bb0c38bf506;hpb=ba2eae5d528487900d1510fc0a160e660f2c394c;p=gem5.git diff --git a/src/dev/baddev.hh b/src/dev/baddev.hh index 35ae0382a..9cf592c0e 100644 --- a/src/dev/baddev.hh +++ b/src/dev/baddev.hh @@ -24,6 +24,8 @@ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Authors: Ali Saidi */ /** @file @@ -36,7 +38,7 @@ #include "base/range.hh" #include "dev/io_device.hh" - +#include "params/BadDevice.hh" /** * BadDevice @@ -50,12 +52,14 @@ class BadDevice : public BasicPioDevice std::string devname; public: - struct Params : public BasicPioDevice::Params - { - std::string device_name; - }; + typedef BadDeviceParams Params; + protected: - const Params *params() const { return (const Params *)_params; } + const Params * + params() const + { + return dynamic_cast(_params); + } public: /** @@ -65,8 +69,8 @@ class BadDevice : public BasicPioDevice */ BadDevice(Params *p); - virtual Tick read(Packet *pkt); - virtual Tick write(Packet *pkt); + virtual Tick read(PacketPtr pkt); + virtual Tick write(PacketPtr pkt); }; #endif // __DEV_BADDEV_HH__