summaryrefslogtreecommitdiffstats
path: root/hw/i386
diff options
context:
space:
mode:
authorPaolo Bonzini2020-10-26 15:30:18 +0100
committerPaolo Bonzini2020-12-10 18:15:05 +0100
commit7d435078afa08eb136bdcdc4f199fd26ddbc353b (patch)
tree24dd70d2157eec541c35b342a807d96ce4baca90 /hw/i386
parenthppa: remove bios_name (diff)
downloadqemu-7d435078afa08eb136bdcdc4f199fd26ddbc353b.tar.gz
qemu-7d435078afa08eb136bdcdc4f199fd26ddbc353b.tar.xz
qemu-7d435078afa08eb136bdcdc4f199fd26ddbc353b.zip
i386: remove bios_name
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20201026143028.3034018-6-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i386')
-rw-r--r--hw/i386/microvm.c7
-rw-r--r--hw/i386/pc_sysfw.c4
-rw-r--r--hw/i386/x86.c10
3 files changed, 9 insertions, 12 deletions
diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index 5688608613..f111ef87d8 100644
--- a/hw/i386/microvm.c
+++ b/hw/i386/microvm.c
@@ -158,6 +158,7 @@ static int microvm_ioapics(MicrovmMachineState *mms)
static void microvm_devices_init(MicrovmMachineState *mms)
{
+ const char *default_firmware;
X86MachineState *x86ms = X86_MACHINE(mms);
ISABus *isa_bus;
ISADevice *rtc_state;
@@ -274,12 +275,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 f8bd3a8b85..92e90ff013 100644
--- a/hw/i386/pc_sysfw.c
+++ b/hw/i386/pc_sysfw.c
@@ -213,7 +213,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;
}
@@ -234,7 +234,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 7c1f64a1fc..f86f6dbbec 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -55,8 +55,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;
@@ -1080,17 +1078,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);