{
ArmCPU::ArmCPU(FastModelArmCPUParams *params) :
- Iris::ArmCPU(params, scx::scx_get_iris_connection_interface()),
- mem(name() + ".mem", this)
+ Iris::ArmCPU(params, scx::scx_get_iris_connection_interface())
{
}
tc->setMiscRegNoEffect(ArmISA::MISCREG_CNTFRQ_EL0, cntfrq);
}
-Port &
-ArmCPU::getPort(const std::string &if_name, PortID idx)
-{
- if (if_name == "mem")
- return mem;
- return Iris::ArmCPU::getPort(if_name, idx);
-}
-
} // namespace FastModel
FastModel::ArmCPU *
// This class adds non-Iris, gem5 functionality to this CPU model.
class ArmCPU : public Iris::ArmCPU
{
- private:
- class MemPort : public MasterPort
- {
- public:
- using MasterPort::MasterPort;
-
- bool
- recvTimingResp(PacketPtr pkt) override
- {
- panic("%s.%s not implemented.\n", name(), __FUNCTION__);
- }
-
- void
- recvReqRetry() override
- {
- panic("%s.%s not implemented.\n", name(), __FUNCTION__);
- }
- };
-
- MemPort mem;
-
public:
ArmCPU(FastModelArmCPUParams *params);
void initState() override;
- Port &getPort(const std::string &if_name,
- PortID idx=InvalidPortID) override;
-
- Port &getDataPort() override { return mem; }
- Port &getInstPort() override { return mem; }
};
} // namespace FastModel