qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: philmd@redhat.com
Subject: [PATCH 05/15] i386: remove bios_name
Date: Mon, 26 Oct 2020 10:30:18 -0400	[thread overview]
Message-ID: <20201026143028.3034018-6-pbonzini@redhat.com> (raw)
In-Reply-To: <20201026143028.3034018-1-pbonzini@redhat.com>

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/i386/microvm.c     |  7 +++----
 hw/i386/pc_sysfw.c    |  4 ++--
 hw/i386/x86.c         | 10 ++++------
 include/hw/i386/x86.h |  3 ++-
 4 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index 5428448b70..6cda3014d6 100644
--- a/hw/i386/microvm.c
+++ b/hw/i386/microvm.c
@@ -154,6 +154,7 @@ static void create_gpex(MicrovmMachineState *mms)
 
 static void microvm_devices_init(MicrovmMachineState *mms)
 {
+    const char *default_firmware;
     X86MachineState *x86ms = X86_MACHINE(mms);
     ISABus *isa_bus;
     ISADevice *rtc_state;
@@ -259,12 +260,10 @@ static void microvm_devices_init(MicrovmMachineState *mms)
         serial_hds_isa_init(isa_bus, 0, 1);
     }
 
-    if (bios_name == NULL) {
-        bios_name = x86_machine_is_acpi_enabled(x86ms)
+    default_firmware = x86_machine_is_acpi_enabled(x86ms)
             ? MICROVM_BIOS_FILENAME
             : MICROVM_QBOOT_FILENAME;
-    }
-    x86_bios_rom_init(get_system_memory(), true);
+    x86_bios_rom_init(MACHINE(mms), default_firmware, get_system_memory(), true);
 }
 
 static void microvm_memory_init(MicrovmMachineState *mms)
diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c
index b6c0822fe3..0187f0a934 100644
--- a/hw/i386/pc_sysfw.c
+++ b/hw/i386/pc_sysfw.c
@@ -222,7 +222,7 @@ void pc_system_firmware_init(PCMachineState *pcms,
     BlockBackend *pflash_blk[ARRAY_SIZE(pcms->flash)];
 
     if (!pcmc->pci_enabled) {
-        x86_bios_rom_init(rom_memory, true);
+        x86_bios_rom_init(MACHINE(pcms), "bios.bin", rom_memory, true);
         return;
     }
 
@@ -243,7 +243,7 @@ void pc_system_firmware_init(PCMachineState *pcms,
 
     if (!pflash_blk[0]) {
         /* Machine property pflash0 not set, use ROM mode */
-        x86_bios_rom_init(rom_memory, false);
+        x86_bios_rom_init(MACHINE(pcms), "bios.bin", rom_memory, false);
     } else {
         if (kvm_enabled() && !kvm_readonly_mem_enabled()) {
             /*
diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 5944fc44ed..836d388248 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -54,8 +54,6 @@
 #include CONFIG_DEVICES
 #include "kvm_i386.h"
 
-#define BIOS_FILENAME "bios.bin"
-
 /* Physical Address of PVH entry point read from kernel ELF NOTE */
 static size_t pvh_start_addr;
 
@@ -1051,17 +1049,17 @@ void x86_load_linux(X86MachineState *x86ms,
     nb_option_roms++;
 }
 
-void x86_bios_rom_init(MemoryRegion *rom_memory, bool isapc_ram_fw)
+void x86_bios_rom_init(MachineState *ms, const char *default_firmware,
+                       MemoryRegion *rom_memory, bool isapc_ram_fw)
 {
+    const char *bios_name;
     char *filename;
     MemoryRegion *bios, *isa_bios;
     int bios_size, isa_bios_size;
     int ret;
 
     /* BIOS load */
-    if (bios_name == NULL) {
-        bios_name = BIOS_FILENAME;
-    }
+    bios_name = ms->firmware ?: default_firmware;
     filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
     if (filename) {
         bios_size = get_image_size(filename);
diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h
index bfa9cb2a25..e92ddeaed1 100644
--- a/include/hw/i386/x86.h
+++ b/include/hw/i386/x86.h
@@ -101,7 +101,8 @@ void x86_cpu_unplug_request_cb(HotplugHandler *hotplug_dev,
 void x86_cpu_unplug_cb(HotplugHandler *hotplug_dev,
                        DeviceState *dev, Error **errp);
 
-void x86_bios_rom_init(MemoryRegion *rom_memory, bool isapc_ram_fw);
+void x86_bios_rom_init(MachineState *ms, const char *default_firmware,
+                       MemoryRegion *rom_memory, bool isapc_ram_fw);
 
 void x86_load_linux(X86MachineState *x86ms,
                     FWCfgState *fw_cfg,
-- 
2.26.2




  parent reply	other threads:[~2020-10-26 14:36 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26 14:30 [PATCH 00/15] remove bios_name variable Paolo Bonzini
2020-10-26 14:30 ` [PATCH 01/15] alpha: remove bios_name Paolo Bonzini
2020-10-26 17:09   ` Alex Bennée
2020-10-26 18:11   ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` [PATCH 02/15] digic: stash firmware into DigicState Paolo Bonzini
2020-10-26 14:44   ` Peter Maydell
2020-10-26 15:05     ` Paolo Bonzini
2020-10-26 14:30 ` [PATCH 03/15] arm: remove bios_name Paolo Bonzini
2020-10-26 17:11   ` Alex Bennée
2020-10-26 14:30 ` [PATCH 04/15] hppa: " Paolo Bonzini
2020-10-26 17:12   ` Alex Bennée
2020-10-26 18:11   ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` Paolo Bonzini [this message]
2020-10-26 17:15   ` [PATCH 05/15] i386: " Alex Bennée
2020-10-26 14:30 ` [PATCH 06/15] lm32: " Paolo Bonzini
2020-10-26 17:15   ` Alex Bennée
2020-10-26 18:12   ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` [PATCH 07/15] m68k: " Paolo Bonzini
2020-10-26 17:17   ` Alex Bennée
2020-10-26 18:13   ` Philippe Mathieu-Daudé
2020-10-26 18:54   ` Thomas Huth
2020-10-26 19:11   ` Laurent Vivier
2020-10-27 13:26     ` Paolo Bonzini
2020-10-26 14:30 ` [PATCH 08/15] mips: " Paolo Bonzini
2020-10-26 17:20   ` Alex Bennée
2020-10-27 14:40   ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` [PATCH 09/15] moxie: " Paolo Bonzini
2020-10-26 17:20   ` Alex Bennée
2020-10-26 14:30 ` [PATCH 10/15] ppc: " Paolo Bonzini
2020-10-26 17:21   ` Alex Bennée
2020-10-27  2:04   ` David Gibson
2020-10-26 14:30 ` [PATCH 11/15] rx: move BIOS load from MCU to board Paolo Bonzini
2020-10-26 17:24   ` Alex Bennée
2020-10-26 17:34     ` Paolo Bonzini
2020-10-26 19:00       ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` [PATCH 12/15] s390: remove bios_name Paolo Bonzini
2020-10-26 17:29   ` Alex Bennée
2020-10-26 18:58   ` Thomas Huth
2020-10-27  8:37   ` Cornelia Huck
2020-10-27  8:38   ` Christian Borntraeger
2020-10-27 13:26     ` Paolo Bonzini
2020-10-26 14:30 ` [PATCH 13/15] sh4: " Paolo Bonzini
2020-10-26 17:29   ` Alex Bennée
2020-10-26 18:56   ` Philippe Mathieu-Daudé
2020-10-26 14:30 ` [PATCH 14/15] sparc: " Paolo Bonzini
2020-10-26 17:30   ` Alex Bennée
2020-10-26 18:57   ` Philippe Mathieu-Daudé
2020-10-27 16:21   ` Mark Cave-Ayland
2020-10-26 14:30 ` [PATCH 15/15] vl: " Paolo Bonzini
2020-10-26 17:30   ` Alex Bennée
2020-10-27 14:22   ` Thomas Huth
2020-10-26 14:51 ` [PATCH 00/15] remove bios_name variable no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201026143028.3034018-6-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).