Hi, COMPAT_NETBSD32 has been broken for aarch64, since jemalloc became to mmap 8KB-aligned anonymous memory for earm. Running 32-bit binaries easily causes KASSERT failure like this:
panic: kernel diagnostic assertion "!topdown || hint <= orig_hint" failed: file "../../../../uvm/uvm_map.c", line 2164 hint: fbefc000, orig_hint: f2c2f000 This seems to be an MI bug, not MD; uvm_findspace() is broken in the cases where a required alignment (8KB) is larger than the native page size (4KB). For more details, please see kern/54395: http://gnats.netbsd.org/54395 With the patch attached in the PR, that KASSERT does no longer fire on aarch64 with 32-bit binaries, as far as I can see. Also, the patched kernels just work for me on amd64, earm, and m68k. This also affects netbsd-9 branch. I'd like to fix this before 9.0 is released. Could anyone please review my patch, or provide a better fix? Thanks, rin