freebsd-dev/sys/powerpc
Marcel Moolenaar 1a4fcaebe3 o Introduce vm_sync_icache() for making the I-cache coherent with
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.
2009-10-21 18:38:02 +00:00
..
aim o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
booke o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
compile
conf Add a few SCSI controllers to GENERIC that can be found on Powermacs. 2009-09-10 21:25:05 +00:00
cpufreq Add cpufreq support on the PowerPC G5, along with a skeleton SMU driver 2009-06-23 04:28:32 +00:00
fpu
include o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
mpc85xx Do not use OCP85XX_LBC_OFF twice when accessing LBC registers on MPC85XX. 2009-07-21 08:38:45 +00:00
ofw strict kobj signatures: some ofw_setprop fixes 2009-06-11 17:15:20 +00:00
powermac Add cpufreq support on the PowerPC G5, along with a skeleton SMU driver 2009-06-23 04:28:32 +00:00
powerpc o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
psim Move from using devclass_find_free_unit(ata_devclass, 0) to -1 for the 2009-06-10 17:40:18 +00:00