freebsd-dev/sys/i386
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
..
acpica Extract the code to find and map the MADT ACPI table during early kernel 2009-09-23 15:42:35 +00:00
bios Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
compile
conf add amdtemp to i386 NOTES 2009-10-20 09:31:57 +00:00
cpufreq Consolidate CPUID to CPU family/model macros for amd64 and i386 to reduce 2009-09-10 17:27:36 +00:00
i386 o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
ibcs2 As jhb@ pointed out to me, r197057 was incorrect, not least because these 2009-09-10 13:20:27 +00:00
include Add a facility for associating optional descriptions with active interrupt 2009-10-15 14:54:35 +00:00
isa - Teach vesa(4) and dpms(4) about x86emu. [1] 2009-09-09 09:50:31 +00:00
linux As jhb@ pointed out to me, r197057 was incorrect, not least because these 2009-09-10 13:20:27 +00:00
pci number of cleanups in i386 and amd64 pci md code 2009-09-24 07:11:23 +00:00
svr4 Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions 2009-01-31 11:37:21 +00:00
xbox In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
xen o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
Makefile Update entries for building tags. 2007-05-13 18:21:54 +00:00