4 * BadDevice implemenation
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"
23 BadDevice::BadDevice(const string
&name
, Addr a
, MemoryController
*mmu
,
24 const string
&devicename
)
25 : FunctionalMemory(name
), addr(a
), devname(devicename
)
27 mmu
->add_child(this, Range
<Addr
>(addr
, addr
+ size
));
31 BadDevice::read(MemReqPtr
&req
, uint8_t *data
)
34 panic("Device %s not imlpmented\n", devname
);
39 BadDevice::write(MemReqPtr
&req
, const uint8_t *data
)
41 panic("Device %s not imlpmented\n", devname
);
46 BEGIN_DECLARE_SIM_OBJECT_PARAMS(BadDevice
)
48 SimObjectParam
<MemoryController
*> mmu
;
50 Param
<string
> devicename
;
52 END_DECLARE_SIM_OBJECT_PARAMS(BadDevice
)
54 BEGIN_INIT_SIM_OBJECT_PARAMS(BadDevice
)
56 INIT_PARAM(mmu
, "Memory Controller"),
57 INIT_PARAM(addr
, "Device Address"),
58 INIT_PARAM(devicename
, "Name of device to error on")
60 END_INIT_SIM_OBJECT_PARAMS(BadDevice
)
62 CREATE_SIM_OBJECT(BadDevice
)
64 return new BadDevice(getInstanceName(), addr
, mmu
, devicename
);
67 REGISTER_SIM_OBJECT("BadDevice", BadDevice
)