summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-03-28 16:07:27 +0000
committerkib <kib@FreeBSD.org>2014-03-28 16:07:27 +0000
commita6e5d8b2483ac0fb3eeba3ce3517c5ac5c36aaae (patch)
tree79f315d253d0bb1c4f219de52b5842ffd88af203 /usr.bin
parentad03b5b28d871cf1b355314e08276d082a9abf2b (diff)
downloadFreeBSD-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')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud