Last time I checked[1], SeaBIOS required 1MiB of RAM, and the failure modes were mean.
Back then, I asked whether we should enforce a suitable minimum RAM size[2]. Peter Maydell replied that modelling RAM constraints involves an expedition into the Generality Swamps, and wished me better luck than he had.
Four and a half years later, the failure modes are as mean as ever. For instance,
$ qemu-system-x86_64 --nodefaults -device VGA -m 640k
simply hangs for me, and
$ qemu-system-x86_64 --nodefaults -device VGA -m 16k
crashes with "qemu: fatal: Trying to execute code outside RAM or ROM at 0x0000000000004000" and a register dump with TCG, or the even less helpful "KVM internal error. Suberror: 1" with KVM.
Waiting for "someone" to design and implement the completely general solution has had the predictable result: nothing.
Are we now ready to accept a simple & stupid patch that actually helps users, say letting boards that care declare minimum and maximum RAM size? And make PC reject RAM size less than 1MiB, even though "someone" might conceivably have firmware that works with less?
[1] Message-ID: 87fw7xwqkq.fsf@blackfin.pond.sub.org https://www.seabios.org/pipermail/seabios/2012-August/004343.html [2] Message-ID: 87wr1921rd.fsf@blackfin.pond.sub.org https://lists.gnu.org/archive/html/qemu-devel/2012-08/msg01319.html