[usr/src/sys/arm/at91/at91_machdep.c:261]: (style) int result is returned as long value. If the return value is long to avoid loss of information, then you have loss of information. Source code is return (1 << (cols + rows + banks + bw)); I don't know if this kind of machine is likely to be installed with > 2Gb RAM, but maybe better code would be return (1L << (cols + rows + banks + bw));
These machines can have 512MB max due to address space limitations, and thats for a member of the family we don't support (otherwise 256MB is the max). This isn't a bug with any effect.
AT91 removed in 12. and not really a bug.