HomeFreeBSD

Fix system hang when large FDT is in use

Description

Fix system hang when large FDT is in use

Summary:
Kernel maps only one page of FDT. When FDT is more than one page in size, data
TLB miss occurs on memmove() when FDT is moved to kernel storage
(sys/powerpc/booke/booke_machdep.c, booke_init())

This introduces a pmap_early_io_unmap() to complement pmap_early_io_map(), which
can be used for any early I/O mapping, but currently is only used when mapping
the fdt.

Submitted by: Ivan Krivonos <int0dster_gmail.com>
Differential Revision: https://reviews.freebsd.org/D7605

Details

Provenance
jhibbitsAuthored on
Differential Revision
D7605: system can hang when large FDT is in use
Parents
rS304726: Fix some SMP issues:
Branches
Unknown
Tags
Unknown