nathan binkert wrote: >> Also the DmaPort doesn't send it's packets marked uncachable which we >> established as being a requirement for the interrupt messages. I don't >> -want- to have to write a new port type, but what I need is >> fundamentally not a DMA transfer. Making the DmaPort the solution for >> things other than DMA is misleading, and not having it work for other >> things means I need to find a different solution. But like I said, I >> don't want to have to create a new port type, so I certainly wouldn't >> mind finding a way to use something that already exists. >> > > I see the issue you're having now. That makes sense not to pollute > the DmaPort with this sort of thing. I think the answer is to create > a new port type. You should be able to derive from SimpleTimingPort > to significantly simplify your implementation. If not, we should > clean up SimpleTimingPort so that it does work for this sort of thing. > > Nate > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev > I just looked over SimpleTimingPort again, and there are two deficiencies I saw. First, it only expects requests and only sends responses. I don't know how much it would complicate things to make it do both, but I suspect it'd have to make more assumptions about how things are prioritized, how to handle nacks, etc. Second, functional packets update other packets which overlap. This is an issue because we're not writing to an array of storage locations, we're sending a message to a device at some address. Also, there probably shouldn't be functional accesses to the ports that accept interrupts anyway which might simplify things.
What might make sense, and make life easier all around, is to make a new type of port who's whole purpose in life is to send and receive messages. You'd have a function that sent a message to an address/port somewhere else, and when it got there it would call a call back on the target. The messages should never interact which should make things simpler. Gabe _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
