Index: apps/debug_menu.c
===================================================================
--- apps/debug_menu.c	(revision 31026)
+++ apps/debug_menu.c	(working copy)
@@ -2016,6 +2016,7 @@
 }
 #endif
 
+unsigned char cachecrash CACHEALIGN_ATTR = 1;
 
 /****** The menu *********/
 struct the_menu_item {
Index: firmware/drivers/ata.c
===================================================================
--- firmware/drivers/ata.c	(revision 31026)
+++ firmware/drivers/ata.c	(working copy)
@@ -402,6 +402,7 @@
         if (dma_mode && ata_dma_setup(inbuf, incount * SECTOR_SIZE, write))
             usedma = true;
 #endif
+        if (!write && ((((unsigned long)inbuf) & 0xF) == 0)) cpucache_invalidate();
 
 #ifdef HAVE_LBA48
         if (lba48)
