Fixed some void functions with returns, first stab at cpu ports.
cpu/simple/cpu.hh: Adding port definitions to simple cpu, still needs work. mem/bus.hh: no return for void functions --HG-- extra : convert_revision : 42e5bc16af187d3a46eb25a15b600a8a11b88cc5
This commit is contained in:
parent
fccd113e2f
commit
2f644efafa
2 changed files with 35 additions and 1 deletions
|
@ -63,6 +63,40 @@ namespace Trace {
|
|||
|
||||
class SimpleCPU : public BaseCPU
|
||||
{
|
||||
class CpuPort : public Port
|
||||
{
|
||||
|
||||
SimpleCPU *cpu;
|
||||
|
||||
public:
|
||||
|
||||
CpuPort(SimpleCPU *_cpu)
|
||||
: cpu(_cpu)
|
||||
{ }
|
||||
|
||||
protected:
|
||||
|
||||
virtual bool recvTiming(Packet &pkt)
|
||||
{ return cpu->recvTiming(pkt); }
|
||||
|
||||
virtual Tick recvAtomic(Packet &pkt)
|
||||
{ return cpu->recvAtomic(pkt); }
|
||||
|
||||
virtual void recvFunctional(Packet &pkt)
|
||||
{ cpu->recvFunctional(pkt); }
|
||||
|
||||
virtual void recvStatusChange(Status status)
|
||||
{ cpu->recvStatusChange(status); }
|
||||
|
||||
};
|
||||
|
||||
CpuPort icache_port;
|
||||
CpuPort dcache_port;
|
||||
|
||||
bool recvTiming(Packet &pkt);
|
||||
Tick recvAtomic(Packet &pkt);
|
||||
void recvFunctional(Packet &pkt);
|
||||
|
||||
public:
|
||||
// main simulation loop (one cycle)
|
||||
void tick();
|
||||
|
|
|
@ -92,7 +92,7 @@ class Bus : public MemObject
|
|||
/** When reciving a Functional requestfrom the peer port (at id),
|
||||
pass it to the bus. */
|
||||
virtual void recvFunctional(Packet &pkt)
|
||||
{ return bus->recvFunctional(pkt, id); }
|
||||
{ bus->recvFunctional(pkt, id); }
|
||||
|
||||
/** When reciving a status changefrom the peer port (at id),
|
||||
pass it to the bus. */
|
||||
|
|
Loading…
Reference in a new issue