[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Machine specific option ROMs
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] Machine specific option ROMs |
Date: |
Tue, 20 Aug 2019 08:25:52 +0200 |
User-agent: |
NeoMutt/20180716 |
Hi,
> > For example in qemu 1.5 the nic roms got EFI support and there is a
> > compat property which switches the pc-i440fx-1.4 (and older) machine
> > types to the non-efi versions. Grep for pxe-e1000.rom to find the code.
Note that roms with a pci firmware standard header[1] can be chained
together, then placed in the pci rom bar. This is how the efi-*.rom
files are created, they are three-in-one images (bios, efi ia32, efi
x64).
# file pc-bios/qemu_vga.ndrv
pc-bios/qemu_vga.ndrv: header for PowerPC PEF executable
Hmm, so that is probably not going to work.
> +static GlobalProperty compat[] = {
> + { "VGA", "romfile", NDRV_VGA_FILENAME },
> +};
> + compat_props_add(mc->compat_props, compat, G_N_ELEMENTS(compat));
I wouldn't name the variable compat (in this specific case it's not for
backward compatibility), but yes, this is the idea.
> manually. (In the future this same way can also be used to pass proper
> FCode ROMs to OpenBIOS.)
The image type (pci rom header) can be:
Type Description
0 Intel x86, PC-AT compatible
1 Open Firmware standard for PCI
2 Hewlett-Packard PA RISC
3 Extensible Firmware Interface (EFI)
4-FF Reserved
So having a single pci rom image with both classic vgabios (type 0) and
open firmware fcode (type 1) should be possible.
cheers,
Gerd
[1] http://read.pudn.com/downloads211/doc/comm/994029/pcifw_r3_0_updated.pdf,
section 5.1