[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/1] mach-virt: Set VM's SMBIOS system version t
From: |
Daniel P . Berrangé |
Subject: |
Re: [Qemu-devel] [PATCH 1/1] mach-virt: Set VM's SMBIOS system version to mc->desc |
Date: |
Thu, 22 Mar 2018 13:55:34 +0000 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Thu, Mar 22, 2018 at 02:49:35PM +0100, Andrew Jones wrote:
> On Thu, Mar 22, 2018 at 11:07:12AM +0000, Daniel P. Berrangé wrote:
> > On Wed, Mar 21, 2018 at 10:12:16PM -0500, Wei Huang wrote:
> > > Instead of using "1.0" as the system version of SMBIOS, we should use
> > > mc->desc for mach-virt machine type. With this patch, "dmidecode -t 1"
> > > (e.g., "-M virt-2.12,accel=kvm") will show:
> > >
> > > Handle 0x0100, DMI type 1, 27 bytes
> > > System Information
> > > Manufacturer: QEMU
> > > Product Name: KVM Virtual Machine
> > > Version: QEMU 2.12 ARM Virtual Machine
> > > Serial Number: Not Specified
> > > ...
> > >
> > > instead of:
> > > Handle 0x0100, DMI type 1, 27 bytes
> > > System Information
> > > Manufacturer: QEMU
> > > Product Name: KVM Virtual Machine
> > > Version: 1.0
> > > Serial Number: Not Specified
> > > ...
> > >
> > > Signed-off-by: Wei Huang <address@hidden>
> > > ---
> > > hw/arm/virt.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> > > index 2c07245047..da7228b297 100644
> > > --- a/hw/arm/virt.c
> > > +++ b/hw/arm/virt.c
> > > @@ -1132,6 +1132,7 @@ static void *machvirt_dtb(const struct
> > > arm_boot_info *binfo, int *fdt_size)
> > >
> > > static void virt_build_smbios(VirtMachineState *vms)
> > > {
> > > + MachineClass *mc = MACHINE_GET_CLASS(vms);
> > > uint8_t *smbios_tables, *smbios_anchor;
> > > size_t smbios_tables_len, smbios_anchor_len;
> > > const char *product = "QEMU Virtual Machine";
> > > @@ -1145,7 +1146,7 @@ static void virt_build_smbios(VirtMachineState *vms)
> > > }
> > >
> > > smbios_set_defaults("QEMU", product,
> > > - "1.0", false, true, SMBIOS_ENTRY_POINT_30);
> > > + mc->desc, false, true, SMBIOS_ENTRY_POINT_30);
> >
> > Surely this needs to be handled in back compatible manner so that existing
> > machine types are not changed - only the new virt-2.12 machine type should
> > get new format.
>
> On real hardware this table can change when there's a firmware update,
> so I don't think any OS would expect it to stay the same across reboots.
> I also can't imagine any applications caring at all about this,
> particularly because it's currently the useless "1.0" string. I think
> we're safe to neglect compat code in this case, but I may be missing
> something. Is there a particular issue you're aware of that we'd risk
> hitting? (Well, besides Windows detecting its installation machine has
> "changed", invalidating its license or whatever. We don't yet have any
> Windows guests to worry about.)
I don't have a particular scenario in mind - just the general rule that
we don't change something which is guest visible without tieing it to
machine type. I guess we've not tied machine types to specific
SeaBIOS / UEFI snapshot builds though, so in terms of firmware changing
we've already got that scenario.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|