CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected] 2017/02/07 16:05:33

Modified files:
        sys/arch/arm64/arm64: pmap.c 

Log message:
Since the instruction cache does not in any way snoop the data cache
we need to make sure to clean the data and invalidate the instruction
cache upon entering a page with pmap_enter().  Since it is possible
that pmap_enter() does not directly enter the page, we need to do the
same dance in the pmap fault fixup code.  Every new writeable mapping
or write removes a page's flag to mark it unflushed.  The next time
pmap_enter() is called or a fault happens on that VA, it has to be
flushed and invalidated again.  This was heavily discussed with Dale
Rahn.

On the Pine64 and Raspberry Pi 3 we have been very lucky to not run
into any cache issues, especially with the instruction cache.  The
AMD Seattle seems to be a different kind of beast where we actually
have to care about these things.  This finally brings the machine
into userland.

Reply via email to