I count approximately 30 additions of named fw_cfg files, with fw_cfg_add_file() / fw_cfg_add_file_callback() / fw_cfg_modify_file(). On top of those, vgaroms/* and genroms/* files are added with invocations of rom_add_vga() and rom_add_option().
While it's pretty unlikely that a QEMU cmdline causes all of those named files to be added simultaneously, it now seems prudent to bump FW_CFG_FILE_SLOTS_DFLT from 32 to a higher value. Increment it by 8. Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Philippe Mathieu-Daudé <phi...@redhat.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1515 Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- hw/core/machine.c | 2 ++ hw/nvram/fw_cfg.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index 1689ad3bf8af..fefc9e1f0dd0 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -29,6 +29,8 @@ GlobalProperty hw_compat_4_1[] = { { "virtio-pci", "x-pcie-flr-init", "off" }, + { "fw_cfg_mem", "x-file-slots", "0x20" }, + { "fw_cfg_io", "x-file-slots", "0x20" }, }; const size_t hw_compat_4_1_len = G_N_ELEMENTS(hw_compat_4_1); diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c index 7dc3ac378ee0..cd785fad93b1 100644 --- a/hw/nvram/fw_cfg.c +++ b/hw/nvram/fw_cfg.c @@ -40,7 +40,7 @@ #include "qemu/cutils.h" #include "qapi/error.h" -#define FW_CFG_FILE_SLOTS_DFLT 0x20 +#define FW_CFG_FILE_SLOTS_DFLT 0x28 /* FW_CFG_VERSION bits */ #define FW_CFG_VERSION 0x01 -- 2.19.1.3.g30247aa5d201