I have split reads working (I think), and now I'm starting in on
writes. The write function is a little more convoluted than the read
function, partly because it tries to always have a dcache_pkt around
even when there hasn't been an access since that's passed to
completeAcc. The only time completeAcc is called inline with
initiateAcc, which is where read/write is called, is if the CPU is still
running, aka not waiting for the dcache, and there was no fault. The
only way this can happen is if either the instruction itself never did
an access, which can be the case with ARM apparently, or if the
instruction is a store conditional which tried to do an access but
failed for some reason before the actual packet got sent. In both of
these cases, rather than make sure that some nonsense dcache_pkt is
around so completeAcc doesn't get a NULL pointer, would it make sense to
just not call it at all? The Alpha memory instructions are a little too
tangled for me to be confident whether that would be ok. It looks like
they're actually made up of a few instructions?

Gabe
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to