Page MenuHomeFreeBSD

powerpc64: fix the calculation of Maxmem
ClosedPublic

Authored by luporl on Dec 14 2021, 9:11 PM.

Details

Summary

The calculation of Maxmem was skipping the last phys_avail segment,
because of a wrong stop condition.

This was detected when using QEMU/PowerNV with Radix MMU and
low memory (2G). In this case opal_pci would allocate a DMA window
that was too small to cover all physical memory, resulting in reading all
zeroes from disk when using memory that was not inside the allocated
window.

Test Plan

Tested on QEMU/PowerNV, S812L (POWER8) and Talos II (POWER9).

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.