1a4fcaebe3
the memory or D-cache, depending on the semantics of the platform. vm_sync_icache() is basically a wrapper around pmap_sync_icache(), that translates the vm_map_t argumument to pmap_t. o Introduce pmap_sync_icache() to all PMAP implementation. For powerpc it replaces the pmap_page_executable() function, added to solve the I-cache problem in uiomove_fromphys(). o In proc_rwmem() call vm_sync_icache() when writing to a page that has execute permissions. This assures that when breakpoints are written, the I-cache will be coherent and the process will actually hit the breakpoint. o This also fixes the Book-E PMAP implementation that was missing necessary locking while trying to deal with the I-cache coherency in pmap_enter() (read: mmu_booke_enter_locked). The key property of this change is that the I-cache is made coherent *after* writes have been done. Doing it in the PMAP layer when adding or changing a mapping means that the I-cache is made coherent *before* any writes happen. The difference is key when the I-cache prefetches. |
||
---|---|---|
.. | ||
discovery | ||
kirkwood | ||
orion | ||
bus_space.c | ||
common.c | ||
files.mv | ||
gpio.c | ||
ic.c | ||
mv_machdep.c | ||
mv_pci.c | ||
mv_sata.c | ||
mvreg.h | ||
mvvar.h | ||
mvwin.h | ||
obio.c | ||
rtc.c | ||
std.mv | ||
timer.c | ||
twsi.c |