baddev.cc (3918:1f9a98d198e8) | baddev.cc (4762:c94e103c83ad) |
---|---|
1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 26 unchanged lines hidden (view full) --- 35#include <deque> 36#include <string> 37#include <vector> 38 39#include "base/trace.hh" 40#include "dev/baddev.hh" 41#include "dev/platform.hh" 42#include "mem/port.hh" | 1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 26 unchanged lines hidden (view full) --- 35#include <deque> 36#include <string> 37#include <vector> 38 39#include "base/trace.hh" 40#include "dev/baddev.hh" 41#include "dev/platform.hh" 42#include "mem/port.hh" |
43#include "sim/builder.hh" | 43#include "params/BadDevice.hh" |
44#include "sim/system.hh" 45 46using namespace std; 47using namespace TheISA; 48 49BadDevice::BadDevice(Params *p) | 44#include "sim/system.hh" 45 46using namespace std; 47using namespace TheISA; 48 49BadDevice::BadDevice(Params *p) |
50 : BasicPioDevice(p), devname(p->device_name) | 50 : BasicPioDevice(p), devname(p->devicename) |
51{ 52 pioSize = 0x10; 53} 54 55Tick 56BadDevice::read(PacketPtr pkt) 57{ 58 panic("Device %s not imlpmented\n", devname); 59 M5_DUMMY_RETURN 60} 61 62Tick 63BadDevice::write(PacketPtr pkt) 64{ 65 panic("Device %s not imlpmented\n", devname); 66 M5_DUMMY_RETURN 67} 68 | 51{ 52 pioSize = 0x10; 53} 54 55Tick 56BadDevice::read(PacketPtr pkt) 57{ 58 panic("Device %s not imlpmented\n", devname); 59 M5_DUMMY_RETURN 60} 61 62Tick 63BadDevice::write(PacketPtr pkt) 64{ 65 panic("Device %s not imlpmented\n", devname); 66 M5_DUMMY_RETURN 67} 68 |
69BEGIN_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 70 71 Param<string> devicename; 72 Param<Addr> pio_addr; 73 SimObjectParam<System *> system; 74 SimObjectParam<Platform *> platform; 75 Param<Tick> pio_latency; 76 77END_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 78 79BEGIN_INIT_SIM_OBJECT_PARAMS(BadDevice) 80 81 INIT_PARAM(devicename, "Name of device to error on"), 82 INIT_PARAM(pio_addr, "Device Address"), 83 INIT_PARAM(system, "system object"), 84 INIT_PARAM(platform, "platform"), 85 INIT_PARAM_DFLT(pio_latency, "Programmed IO latency", 1000) 86 87END_INIT_SIM_OBJECT_PARAMS(BadDevice) 88 89CREATE_SIM_OBJECT(BadDevice) | 69BadDevice * 70BadDeviceParams::create() |
90{ | 71{ |
91 BadDevice::Params *p = new BadDevice::Params; 92 p->name =getInstanceName(); 93 p->platform = platform; 94 p->pio_addr = pio_addr; 95 p->pio_delay = pio_latency; 96 p->system = system; 97 p->device_name = devicename; 98 return new BadDevice(p); | 72 return new BadDevice(this); |
99} | 73} |
100 101REGISTER_SIM_OBJECT("BadDevice", BadDevice) | |