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/

Reply via email to