baddev.cc revision 802
1/* $Id$ */ 2 3/* @file 4 * BadDevice implemenation 5 */ 6 7#include <deque> 8#include <string> 9#include <vector> 10 11#include "base/trace.hh" 12#include "cpu/exec_context.hh" 13#include "dev/scsi_ctrl.hh" 14#include "dev/baddev.hh" 15#include "dev/tsunamireg.h" 16#include "dev/tsunami.hh" 17#include "mem/functional_mem/memory_control.hh" 18#include "sim/builder.hh" 19#include "sim/system.hh" 20 21using namespace std; 22 23BadDevice::BadDevice(const string &name, 24 Addr addr, Addr mask, MemoryController *mmu, const string &devicename) 25 : MmapDevice(name, addr, mask, mmu), devname(devicename) 26{ 27} 28 29Fault 30BadDevice::read(MemReqPtr &req, uint8_t *data) 31{ 32 33 panic("Device %s not imlpmented\n", devname); 34 return No_Fault; 35} 36 37Fault 38BadDevice::write(MemReqPtr &req, const uint8_t *data) 39{ 40 panic("Device %s not imlpmented\n", devname); 41 return No_Fault; 42} 43 44 45BEGIN_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 46 47 SimObjectParam<MemoryController *> mmu; 48 Param<Addr> addr; 49 Param<Addr> mask; 50 Param<string> devicename; 51 52END_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 53 54BEGIN_INIT_SIM_OBJECT_PARAMS(BadDevice) 55 56 INIT_PARAM(mmu, "Memory Controller"), 57 INIT_PARAM(addr, "Device Address"), 58 INIT_PARAM(mask, "Address Mask"), 59 INIT_PARAM(devicename, "Name of device to error on") 60 61END_INIT_SIM_OBJECT_PARAMS(BadDevice) 62 63CREATE_SIM_OBJECT(BadDevice) 64{ 65 return new BadDevice(getInstanceName(), addr, mask, mmu, devicename); 66} 67 68REGISTER_SIM_OBJECT("BadDevice", BadDevice) 69