> start_addr = 0 > size = 0x1000 > > start will be 0 > end will be 0x1000 > > The loop will flush the cache line at 0x1000, because it uses > <= rather than <. That is outside the area that was requested to be flushed. > Maybe it's not mapped. Or, maybe start + size = 0 and > nothing gets flushed. thanks, I got it. it was off-one error.