freebsd-dev/sys/powerpc/booke
Justin Hibbits 69e8f478d5 powerpc/booke: Use power-of-two mappings in 64-bit pmap_mapdev
Summary:
This reduces the precious TLB1 entry consumption (64 possible in
existing 64-bit cores), by adjusting the size and alignment of a device
mapping to a power of 2, to encompass the full mapping and its
surroundings.

One caveat with this: If a mapping really is smaller than a power of 2,
it's possible to get a machine check or hang if the 'missing' physical
space is accessed.  In practice this should not be an issue for users,
as devices overwhelmingly have physical spaces on power-of-two sizes and
alignments, and any design that includes devices which don't follow this
can be addressed by undefining the POW2_MAPPINGS guard.

Reviewed by:	bdragon
Differential Revision: https://reviews.freebsd.org/D24248
2020-04-11 00:17:55 +00:00
..
booke_machdep.c [PowerPC] Fix VSX context handling 2020-02-04 20:40:45 +00:00
locore.S powerpc/booke: Fix 32-bit Book-E SMP AP bringup 2019-12-04 03:41:55 +00:00
machdep_e500.c powerpc: Axe PPC4xx support. 2020-03-18 01:09:43 +00:00
mp_cpudep.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
platform_bare.c sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
pmap_32.c powerpc/booke: Add pte_find_next() to find the next in-use PTE 2020-04-11 00:16:50 +00:00
pmap_64.c powerpc/booke: Add pte_find_next() to find the next in-use PTE 2020-04-11 00:16:50 +00:00
pmap.c powerpc/booke: Use power-of-two mappings in 64-bit pmap_mapdev 2020-04-11 00:17:55 +00:00
spe.c powerpc: Simplify _nodrop variants of FPU and vector register saves 2020-03-13 01:27:37 +00:00
trap_subr.S powerpc/booke: Change Book-E 64-bit pmap to 4-level table 2020-04-11 00:12:34 +00:00