diff options
author | kib <kib@FreeBSD.org> | 2014-03-28 16:07:27 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2014-03-28 16:07:27 +0000 |
commit | a6e5d8b2483ac0fb3eeba3ce3517c5ac5c36aaae (patch) | |
tree | 79f315d253d0bb1c4f219de52b5842ffd88af203 /usr.bin/chpass | |
parent | ad03b5b28d871cf1b355314e08276d082a9abf2b (diff) | |
download | FreeBSD-src-a6e5d8b2483ac0fb3eeba3ce3517c5ac5c36aaae.zip FreeBSD-src-a6e5d8b2483ac0fb3eeba3ce3517c5ac5c36aaae.tar.gz |
Several fixes for the PCID implementation:
- When clearing a bit for a cpuid in pmap->pm_save, ensure that the
cpuid is not set in pm_active. The pm_save indicates which CPUs may
have cached translations for given PCID, which implies that a CPU
executing with the given pmap active have the translations
cached. [1]
- In smp_masked_invltlb(), pass pmap to smp_targeted_tlb_shootdown(). [1]
- In invlrng_handler(), check for the special values of pcid (0 and
-1) and do corresponding global or total invalidations before
checking for performing PCID-specific range invalidation with
INVPCID_ADDR. [2]
- In invltlb_pcid_handler(), do not read %cr3 unless needed. [2]
- Do minor style tweaks. [2]
Submitted by: Henrik Gulbrandsen <henrik@gulbra.net> [1]
Other parts sponsored by: The FreeBSD Foundation [2]
Tested by: Henrik Gulbrandsen, pho
MFC after: 1 week
Diffstat (limited to 'usr.bin/chpass')
0 files changed, 0 insertions, 0 deletions