So what do you suggest?

If qemu supplies a date in legacy/non-legacy we override the date in FSEG(0xfff5) with it
(or make sure it appears in FSEG and is greater than 06/23/99)?

Do we wish to support cases where:

return different dates? (this is what happens at the moment)


On 29 May 2019, at 8:36, Gerd Hoffmann <> wrote:


In some cases when the SMBIOS tables are small enough (both in legacy
and non-legacy mode) - These tables are allocated in FSEG instead of
high-mem, specifically Type0->release_date string which might cause
SystemBiosDate to change - depending on its value. This leads to an
inconsistent behaviour that depends on the SMBIOS table sizes.

We fix this inconsistency by controlling which dates appear in FSEG:

   * Introducing fw_cfg key 'etc/win-bios-date' to control the date
     that appears in FSEG(0xFFF5).

I don't think we need a separate fw_cfg file for this.

If qemu provides a type0 table we can just take the date from it.

If qemu does not provide a type0 table we should not have a
inconsistency in the first place.