What you are doing seems broadly correct. Can you give any details about the aborts (contents of IFAR, IFSR, DFAR, DFSR could be useful)?It smells like the L2 is returning bad data, so how are are you that you are correctly invalidating all of it? Can you explain how you are performing the invalidate?