Hi,
@landonf reported that boot process of MIPS kernels are broken after rS326346. This commit moved domain iterators from physical layer to vm_page one, but it removed translation for vm_page_alloc_freelist() call. Before commit it expects VM_FREELIST_ parameter, but after commit it expects freelist index.
On small boxes with few MB of RAM, we have only VM_FREELIST_LOWMEM (1) and there is no VM_FREELIST_DEFAULT (0) (https://svnweb.freebsd.org/base/head/sys/mips/include/vmparam.h?revision=326023&view=markup#l163). It results in freelist 1 with flind 0. So boot hangs with output:
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.0-CURRENT #3 7cf1f4b027f(user/mizhka/bcm-r326479)-dirty: Sun Dec 3 01:59:46 MSK 2017
mizhka@halloween:/repo/onion/obj/mipsel/repo/onion/src/mips.mipsel/sys/BCM mips
gcc version 4.2.1 20070831 patched [FreeBSD]
subsystem 1000000
vm_mem_init(0)... done.
vm_page_init(0)... done.
subsystem 1800000
sysctl_register_all(0)... done.
mallocinit(0)... done.Actually it's infinite loop inside uma_small_alloc in sys/mips/mips/uma_machdep.c . It tried to get page from empty freelist infinitely.