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