I'm trying to understand exactly how these should be used.  Are they
intended to be used entirely internally to an interconnect?  i.e. just
within the bus or crossbar or mesh or whatever?  I want a source and
destination for my crossbar model, but I don't want to break things.
I'm slightly confused because when I grep, I see some non bus things
setting the values.

Also as an aside, does anyone have any objection to me sticking the
various boolean values in the packet and request objects into a bitset
(the existing one in the case of packet)?  There are a bunch of bools
in both cases, and a bit better packing might help performance/memory
out a bit.  (I'm allocating lots of these things.)

Help! (Thanks)

  Nate

blue% egrep '(setSrc|setDest)\(' **/*.(cc|hh)
src/arch/x86/pagetable_walker.cc:        write->setDest(Packet::Broadcast);
src/cpu/memtest/memtest.cc:        pkt->setSrc(0);
src/cpu/memtest/memtest.cc:        pkt->setSrc(0);
src/mem/bridge.hh:                pkt->setDest(origSrc);
src/mem/bus.cc:                pkt->setSrc(orig_src);
src/mem/bus.cc:                pkt->setDest(Packet::Broadcast);
src/mem/bus.cc:        pkt->setSrc(src_id);
src/mem/bus.hh:        { pkt->setSrc(id); return bus->recvTiming(pkt); }
src/mem/bus.hh:        { pkt->setSrc(id); return bus->recvAtomic(pkt); }
src/mem/bus.hh:        { pkt->setSrc(id); bus->recvFunctional(pkt); }
src/mem/cache/cache_impl.hh:        pkt->setDest(prevSrc);
src/mem/cache/cache_impl.hh:        pkt->setSrc(origSrc);
src/mem/packet.hh:    void setSrc(short _src) { src = _src; srcValid = true; }
src/mem/packet.hh:    void setDest(short _dest) { dest = _dest;
destValid = true; }
src/mem/packet.hh:        setDest(Broadcast);
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to