summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-12-22 11:22:55 +0200
committerAvi Kivity <avi@redhat.com>2009-12-22 11:55:14 +0200
commit4864f9398761a017c769dd55e6bce84b6c29c893 (patch)
tree70b41e03d2233e09b4950bce519a659937b95665
parentDon't leak kvm_save_mpstate() to main qemu code (diff)
downloadqemu-kvm-4864f9398761a017c769dd55e6bce84b6c29c893.tar.gz
qemu-kvm-4864f9398761a017c769dd55e6bce84b6c29c893.tar.bz2
qemu-kvm-4864f9398761a017c769dd55e6bce84b6c29c893.zip
Don't load options roms intended to be loaded by the bios in qemu
The first such option rom will load at address 0, which isn't very nice, and the second will report a conflict and abort, which is horrible. Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--hw/loader.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/hw/loader.c b/hw/loader.c
index 2ceb8eba4..eef385eb5 100644
--- a/hw/loader.c
+++ b/hw/loader.c
@@ -636,6 +636,9 @@ static void rom_reset(void *unused)
Rom *rom;
QTAILQ_FOREACH(rom, &roms, next) {
+ if (rom->fw_file) {
+ continue;
+ }
if (rom->data == NULL)
continue;
cpu_physical_memory_write_rom(rom->addr, rom->data, rom->romsize);
@@ -654,6 +657,9 @@ int rom_load_all(void)
Rom *rom;
QTAILQ_FOREACH(rom, &roms, next) {
+ if (rom->fw_file) {
+ continue;
+ }
if (addr > rom->addr) {
fprintf(stderr, "rom: requested regions overlap "
"(rom %s. free=0x" TARGET_FMT_plx
@@ -752,7 +758,7 @@ void do_info_roms(Monitor *mon)
Rom *rom;
QTAILQ_FOREACH(rom, &roms, next) {
- if (rom->addr) {
+ if (!rom->fw_file) {
monitor_printf(mon, "addr=" TARGET_FMT_plx
" size=0x%06zx mem=%s name=\"%s\" \n",
rom->addr, rom->romsize,