baddev.cc revision 802
16899SN/A/* $Id$ */ 26899SN/A 36899SN/A/* @file 46899SN/A * BadDevice implemenation 56899SN/A */ 66899SN/A 76899SN/A#include <deque> 86899SN/A#include <string> 96899SN/A#include <vector> 106899SN/A 116899SN/A#include "base/trace.hh" 126899SN/A#include "cpu/exec_context.hh" 136899SN/A#include "dev/scsi_ctrl.hh" 146899SN/A#include "dev/baddev.hh" 156899SN/A#include "dev/tsunamireg.h" 166899SN/A#include "dev/tsunami.hh" 176899SN/A#include "mem/functional_mem/memory_control.hh" 186899SN/A#include "sim/builder.hh" 196899SN/A#include "sim/system.hh" 206899SN/A 216899SN/Ausing namespace std; 226899SN/A 236899SN/ABadDevice::BadDevice(const string &name, 246899SN/A Addr addr, Addr mask, MemoryController *mmu, const string &devicename) 256899SN/A : MmapDevice(name, addr, mask, mmu), devname(devicename) 266899SN/A{ 276899SN/A} 286899SN/A 296899SN/AFault 307053SN/ABadDevice::read(MemReqPtr &req, uint8_t *data) 317053SN/A{ 326899SN/A 337055SN/A panic("Device %s not imlpmented\n", devname); 347055SN/A return No_Fault; 357632SBrad.Beckmann@amd.com} 368164Snilay@cs.wisc.edu 377053SN/AFault 387053SN/ABadDevice::write(MemReqPtr &req, const uint8_t *data) 396899SN/A{ 407053SN/A panic("Device %s not imlpmented\n", devname); 416899SN/A return No_Fault; 426899SN/A} 436899SN/A 447053SN/A 456899SN/ABEGIN_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 467053SN/A 477053SN/A SimObjectParam<MemoryController *> mmu; 487053SN/A Param<Addr> addr; 498932SBrad.Beckmann@amd.com Param<Addr> mask; 508932SBrad.Beckmann@amd.com Param<string> devicename; 516899SN/A 527053SN/AEND_DECLARE_SIM_OBJECT_PARAMS(BadDevice) 537053SN/A 547053SN/ABEGIN_INIT_SIM_OBJECT_PARAMS(BadDevice) 557053SN/A 566899SN/A INIT_PARAM(mmu, "Memory Controller"), 577055SN/A INIT_PARAM(addr, "Device Address"), 586899SN/A INIT_PARAM(mask, "Address Mask"), 597053SN/A INIT_PARAM(devicename, "Name of device to error on") 608184Ssomayeh@cs.wisc.edu 617053SN/AEND_INIT_SIM_OBJECT_PARAMS(BadDevice) 627053SN/A 637053SN/ACREATE_SIM_OBJECT(BadDevice) 646899SN/A{ 657053SN/A return new BadDevice(getInstanceName(), addr, mask, mmu, devicename); 667053SN/A} 676899SN/A 687053SN/AREGISTER_SIM_OBJECT("BadDevice", BadDevice) 696899SN/A