> On 9/13/06, Amol Lad <amol@xxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, 2006-09-13 at 12:58 +0200, Jakko Pastuchio wrote: > > > I've noticed that the flush_icache_* routines on the i386 > > > are nothing more than an empty do{}while(0) stub. > > > does anyone know why is that ? > > > > If my understanding is correct then these functions are mainly required > > for virtual caches where you need to flush instruction cache say during > > context switch. It's not required for x86 as x86 caches are physically > > tagged caches I think it's not related to it. i386 doesnt need it because hw manages caches, that is, microcode does everything. But not every arch behaves that way. For example, in the MIPS, software has to manage caches. > hmm. thanks for that insight. > but what about events when the *physical* address space has changed > (e.g. module loading) ? we still need to invalidate the cache, don't we ? > > so is there a way to invalidate instruction caches on the x86 ? -- Bora SAHIN -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/