Apparently QEMU didn't load the correct ROM file when using the isa-vga device on my development machine, which resulted in a display waiting to be initialized by a guest OS kernel. With this fix, SeaBIOS is able to print vital data to a text mode console during boot, which is useful in case of failing to continue booting.
The build name of the vgabios.bin is changed too, to vgabios-isavga.bin to ensure we always have that file when QEMU is installed as a package or compiled from source. Signed-off-by: Liav Albani <liav...@gmail.com> --- hw/display/vga-isa.c | 2 +- hw/display/vga_int.h | 2 +- pc-bios/meson.build | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/display/vga-isa.c b/hw/display/vga-isa.c index 46abbc5653..bcf646d012 100644 --- a/hw/display/vga-isa.c +++ b/hw/display/vga-isa.c @@ -84,7 +84,7 @@ static void vga_isa_realizefn(DeviceState *dev, Error **errp) VBE_DISPI_LFB_PHYSICAL_ADDRESS, &s->vram); /* ROM BIOS */ - rom_add_vga(VGABIOS_FILENAME); + rom_add_vga(VGABIOS_ISAVGA_FILENAME); } static Property vga_isa_properties[] = { diff --git a/hw/display/vga_int.h b/hw/display/vga_int.h index 305e700014..b63788e809 100644 --- a/hw/display/vga_int.h +++ b/hw/display/vga_int.h @@ -183,7 +183,7 @@ void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val); extern const uint8_t sr_mask[8]; extern const uint8_t gr_mask[16]; -#define VGABIOS_FILENAME "vgabios.bin" +#define VGABIOS_ISAVGA_FILENAME "vgabios-isavga.bin" #define VGABIOS_CIRRUS_FILENAME "vgabios-cirrus.bin" extern const MemoryRegionOps vga_mem_ops; diff --git a/pc-bios/meson.build b/pc-bios/meson.build index 388e0db6e4..6af94a4a0a 100644 --- a/pc-bios/meson.build +++ b/pc-bios/meson.build @@ -29,7 +29,7 @@ blobs = [ 'bios-microvm.bin', 'qboot.rom', 'sgabios.bin', - 'vgabios.bin', + 'vgabios-isavga.bin', 'vgabios-cirrus.bin', 'vgabios-stdvga.bin', 'vgabios-vmware.bin', -- 2.37.3