HomeFreeBSD

MFC r349323, r349442, r349866, r349975

Description

MFC r349323, r349442, r349866, r349975

pmap_enter_quick_locked() never replaces a valid mapping, so it need not
perform a TLB invalidation.  A barrier suffices.  (See r343876.)

Add a comment to pmap_enter_quick_locked() in order to highlight the fact
that it does not replace valid mappings.

Correct a typo in one of pmap_enter()'s comments.

Introduce pmap_clear(), which zeroes a page table entry, and use it,
instead of pmap_load_clear(), in places where we don't care about the page
table entry's prior contents.

Eliminate an unnecessary pmap_load() from pmap_remove_all().  Instead, use
the value returned by the pmap_load_clear() on the very next line.

A KASSERT() in pmap_enter(), which originated in the amd64 pmap, was meant
to check the value returned by the pmap_load_clear() on the previous
line.  However, we were ignoring the value returned by the
pmap_load_clear(), and so the KASSERT() was not serving its intended
purpose.  Use the value returned by the pmap_load_clear() in the
KASSERT().

Details

Provenance
alcAuthored on
Parents
rS352373: MFC r349003, r349031, r349042, r349129, r349290, r349618, r349798
Branches
Unknown
Tags
Unknown