From 0fd67818527881ce8ec6ee9c3952386c166f91ad Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 7 Jul 2014 10:28:38 +0200 Subject: vl: Round memory sizes below 2MiB up to 2MiB RH-Author: Markus Armbruster Message-id: <1387459965-19517-2-git-send-email-armbru@redhat.com> Patchwork-id: 56389 O-Subject: [PATCH 7.0 qemu-kvm 1/1] vl: Round memory sizes below 2MiB up to 2MiB Bugzilla: 999836 RH-Acked-by: Laszlo Ersek RH-Acked-by: Luiz Capitulino RH-Acked-by: Igor Mammedov From: Markus Armbruster SeaBIOS requires at least 1MiB of RAM, but doesn't doesn't check for it. It simply assumes it's there, and crashes when it isn't, often without any indication what's wrong. No upstream SeaBIOS fix expected. In RHEL-6, we round memory sizes below 2MiB up to 2MiB to protect SeaBIOS (commit 551c098 and commit b9d6c40). Do the same for RHEL-7. Not wanted upstream. Signed-off-by: Markus Armbruster diff --git a/vl.c b/vl.c index 29c9373..30631ac 100644 --- a/vl.c +++ b/vl.c @@ -2689,6 +2689,7 @@ static void set_memory_options(uint64_t *ram_slots, ram_addr_t *maxram_size) } sz = QEMU_ALIGN_UP(sz, 8192); + sz = MAX(sz, 2 * 1024 * 1024); ram_size = sz; if (ram_size != sz) { error_report("ram size too large");