CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2017/03/12 15:05:25

Modified files:
        sys/arch/arm64/arm64: cpufunc_asm.S 

Log message:
Add a "dsm ishst" barrier before TLB maintenance instructions.  The ARMv8
architecture reference manual says this is required (D4.7 under "Ordering
and completion of TLB maintenance instructions" to guarantee that the
translation table walk can observe previous store to the page tables.  It
also has a note that says

In all cases in this section, where a DMB or DSB is referred to, it
refers to a DMB or DSB whose required access type is both loads and
stores.

But both Linux and FreeBSD use a Store-Store barrier here.

Sadly this doesn't fix the arm64 stability problems (or at least not all
of them).

ok patrick@

Reply via email to