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