o from FDT;
o from EFI;
o from Linux Boot API (ATAG).
U-Boot may pass RAM info all that 3 ways simultaneously.
We do select between FDT and EFI, but not for ATAG.
So this is not problem fix, but correctness check.
MFC after: 2 weeks
ep = regions + rcnt;
for (i = 0, rp = regions; i < rcnt; ++i, ++rp) {
+ if (rp->addr == addr && rp->size == size) /* Pure dup. */
+ return (rcnt);
if (flags == rp->flags) {
if (addr + size == rp->addr) {
rp->addr = addr;