X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fdev%2Fsparc%2Fmm_disk.cc;h=b869053878a98e6c95b058d0dc4d6d073f2faaae;hb=5f73d4ac9741f58fd00ccd03eac92c0c60817658;hp=bbb773c48eecd105686209fa9e43b8102b173888;hpb=d5c74657c986a1c6730393d76da6d8859ae7fca4;p=gem5.git diff --git a/src/dev/sparc/mm_disk.cc b/src/dev/sparc/mm_disk.cc index bbb773c48..b86905387 100644 --- a/src/dev/sparc/mm_disk.cc +++ b/src/dev/sparc/mm_disk.cc @@ -36,15 +36,15 @@ #include #include "base/trace.hh" +#include "debug/IdeDisk.hh" #include "dev/sparc/mm_disk.hh" #include "dev/platform.hh" -#include "mem/port.hh" #include "mem/packet_access.hh" -#include "sim/builder.hh" +#include "mem/port.hh" #include "sim/byteswap.hh" #include "sim/system.hh" -MmDisk::MmDisk(Params *p) +MmDisk::MmDisk(const Params *p) : BasicPioDevice(p), image(p->image), curSector((off_t)-1), dirty(false) { std::memset(&diskData, 0, SectorSize); @@ -171,39 +171,8 @@ MmDisk::serialize(std::ostream &os) } } - - - -BEGIN_DECLARE_SIM_OBJECT_PARAMS(MmDisk) - Param pio_addr; - Param pio_latency; - Param pio_size; - SimObjectParam platform; - SimObjectParam system; - SimObjectParam image; -END_DECLARE_SIM_OBJECT_PARAMS(MmDisk) - -BEGIN_INIT_SIM_OBJECT_PARAMS(MmDisk) - - INIT_PARAM(pio_addr, "Device Address"), - INIT_PARAM(pio_latency, "Programmed IO latency"), - INIT_PARAM(pio_size, "Size of address range"), - INIT_PARAM(platform, "platform"), - INIT_PARAM(system, "system object"), - INIT_PARAM(image, "disk image") - -END_INIT_SIM_OBJECT_PARAMS(MmDisk) - -CREATE_SIM_OBJECT(MmDisk) +MmDisk * +MmDiskParams::create() { - MmDisk::Params *p = new MmDisk::Params; - p->name = getInstanceName(); - p->pio_addr = pio_addr; - p->pio_delay = pio_latency; - p->platform = platform; - p->system = system; - p->image = image; - return new MmDisk(p); + return new MmDisk(this); } - -REGISTER_SIM_OBJECT("MmDisk", MmDisk)