Blocks are intended for IO.
Block*s (well at least the buffer) needs to be special because the ethernet on the marvell is not cache coherent.