]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r327048-r327050
authorian <ian@FreeBSD.org>
Sat, 6 Jan 2018 23:24:52 +0000 (23:24 +0000)
committerian <ian@FreeBSD.org>
Sat, 6 Jan 2018 23:24:52 +0000 (23:24 +0000)
commitcd8827a063177d9bbdd7bfea4d7dd66b6a04f6ac
tree0f8a62999170e9c7abc1a6260920bc5c7475d96e
parentce932fa0df48db9743a4557fb862ea051b0cddd6
MFC r327048-r327050

r327048:
Restore the ability to use EARLY_PRINTF support during most of initarm().

The real kernel page tables are set up much earlier in initarm() now than
they were when early printf support was first added, and they end up undoing
the mapping made in locore.S for early printf support.  This re-adds the
mapping after switching to the new/real kernel page tables, making early
printf work again right after switching to them.

r327049:
Allow pmap_kremove() to remove 1MB section mappings as well as 4K pages.
This will allow it to undo temporary device mappings such as those made
with pmap_preboot_map_attr().

Reviewed by: cognet

r327050:
If a temporary mapping is made to support EARLY_PRINTF, undo that mapping
after cninit() runs, otherwise we leave a bogus device-memory mapping in
userspace VA in the kernel pmap forever.

Pointed out by: cognet
sys/arm/arm/machdep.c
sys/arm/arm/pmap-v6.c