I am unable to start a qemu guest with more than 256M of memory, despite
having 4G in my system. I get ENOMEM and qemu exits. Using 256M or
less works just fine.
After some debugging, I see that qemu uses valloc(), which then uses
malloc() and that's preventing anything larger than 256M.
Out of curiosity, I wrote a simple test program that used valloc() to
ask for 256M. Then I tried 512M, and got the failure I expected.
Debugging passed NKMEMPAGES in front of my eyes and I was curious what
changing that would have. I built a kernel with:
option NKMEMPAGES=131072
My test program was able to request 536678400 bytes and no more, short
of 512M by 192512 bytes, or 47 pages on my system.
Despite that test, qemu still wouldn't have any of it and refused to
start guests with more than 256M. I really am at a loss. Anyone have
any suggestions?
I am back to running GENERIC.MP unmodified on OpenBSD 4.9.
Thanks,
--
David Cantrell <david.l.cantr...@gmail.com>
WH6DSN | http://blog.burdell.org/