diff mbox

[1/1] mach-virt: Set VM's SMBIOS system version to mc->name

Message ID 1506088275-31734-1-git-send-email-wei@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Huang Sept. 22, 2017, 1:51 p.m. UTC
Instead of using "1.0" as the system version of SMBIOS, we should use
mc->name for mach-virt machine type. This matches with x86 code and
prevents the smbios_table.machine_type test of Avocado from failing.

Signed-off-by: Wei Huang <wei@redhat.com>
---
 hw/arm/virt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Andrew Jones Sept. 26, 2017, 10:54 a.m. UTC | #1
On Fri, Sep 22, 2017 at 08:51:15AM -0500, Wei Huang wrote:
> Instead of using "1.0" as the system version of SMBIOS, we should use
> mc->name for mach-virt machine type. This matches with x86 code and
> prevents the smbios_table.machine_type test of Avocado from failing.
> 
> Signed-off-by: Wei Huang <wei@redhat.com>
> ---
>  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 9e18b41..8d0c6a9 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1189,6 +1189,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";
> @@ -1202,7 +1203,7 @@ static void virt_build_smbios(VirtMachineState *vms)
>      }
>  
>      smbios_set_defaults("QEMU", product,
> -                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
> +                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
>  
>      smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
>                        &smbios_anchor, &smbios_anchor_len);
> -- 
> 2.7.5
> 
>

Reviewed-by: Andrew Jones <drjones@redhat.com>
Peter Maydell Sept. 26, 2017, 3:28 p.m. UTC | #2
On 26 September 2017 at 11:54, Andrew Jones <drjones@redhat.com> wrote:
> On Fri, Sep 22, 2017 at 08:51:15AM -0500, Wei Huang wrote:
>> Instead of using "1.0" as the system version of SMBIOS, we should use
>> mc->name for mach-virt machine type. This matches with x86 code and
>> prevents the smbios_table.machine_type test of Avocado from failing.
>>
>> Signed-off-by: Wei Huang <wei@redhat.com>
>> ---
>>  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 9e18b41..8d0c6a9 100644
>> --- a/hw/arm/virt.c
>> +++ b/hw/arm/virt.c
>> @@ -1189,6 +1189,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";
>> @@ -1202,7 +1203,7 @@ static void virt_build_smbios(VirtMachineState *vms)
>>      }
>>
>>      smbios_set_defaults("QEMU", product,
>> -                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
>> +                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
>>
>>      smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
>>                        &smbios_anchor, &smbios_anchor_len);
>> --
>> 2.7.5
>>
>>
>
> Reviewed-by: Andrew Jones <drjones@redhat.com>

Are we OK to change this without having to tie it to the machine
version number?

thanks
-- PMM
Andrew Jones Sept. 26, 2017, 3:37 p.m. UTC | #3
On Tue, Sep 26, 2017 at 04:28:03PM +0100, Peter Maydell wrote:
> On 26 September 2017 at 11:54, Andrew Jones <drjones@redhat.com> wrote:
> > On Fri, Sep 22, 2017 at 08:51:15AM -0500, Wei Huang wrote:
> >> Instead of using "1.0" as the system version of SMBIOS, we should use
> >> mc->name for mach-virt machine type. This matches with x86 code and
> >> prevents the smbios_table.machine_type test of Avocado from failing.
> >>
> >> Signed-off-by: Wei Huang <wei@redhat.com>
> >> ---
> >>  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 9e18b41..8d0c6a9 100644
> >> --- a/hw/arm/virt.c
> >> +++ b/hw/arm/virt.c
> >> @@ -1189,6 +1189,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";
> >> @@ -1202,7 +1203,7 @@ static void virt_build_smbios(VirtMachineState *vms)
> >>      }
> >>
> >>      smbios_set_defaults("QEMU", product,
> >> -                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
> >> +                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
> >>
> >>      smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
> >>                        &smbios_anchor, &smbios_anchor_len);
> >> --
> >> 2.7.5
> >>
> >>
> >
> > Reviewed-by: Andrew Jones <drjones@redhat.com>
> 
> Are we OK to change this without having to tie it to the machine
> version number?

Let's tie it to be safe. Eric has a 2.11 machine version patch in his
virtio-iommu series, but, like for 2.10, he or Wei should probably just
post that independently to make sure it gets in.

Wei, will you post the 2.11 version patch?

Thanks,
drew
Wei Huang Sept. 26, 2017, 4:52 p.m. UTC | #4
On 09/26/2017 10:37 AM, Andrew Jones wrote:
> On Tue, Sep 26, 2017 at 04:28:03PM +0100, Peter Maydell wrote:
>> On 26 September 2017 at 11:54, Andrew Jones <drjones@redhat.com> wrote:
>>> On Fri, Sep 22, 2017 at 08:51:15AM -0500, Wei Huang wrote:
>>>> Instead of using "1.0" as the system version of SMBIOS, we should use
>>>> mc->name for mach-virt machine type. This matches with x86 code and
>>>> prevents the smbios_table.machine_type test of Avocado from failing.
>>>>
>>>> Signed-off-by: Wei Huang <wei@redhat.com>
>>>> ---
>>>>  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 9e18b41..8d0c6a9 100644
>>>> --- a/hw/arm/virt.c
>>>> +++ b/hw/arm/virt.c
>>>> @@ -1189,6 +1189,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";
>>>> @@ -1202,7 +1203,7 @@ static void virt_build_smbios(VirtMachineState *vms)
>>>>      }
>>>>
>>>>      smbios_set_defaults("QEMU", product,
>>>> -                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
>>>> +                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
>>>>
>>>>      smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
>>>>                        &smbios_anchor, &smbios_anchor_len);
>>>> --
>>>> 2.7.5
>>>>
>>>>
>>>
>>> Reviewed-by: Andrew Jones <drjones@redhat.com>
>>
>> Are we OK to change this without having to tie it to the machine
>> version number?
> 
> Let's tie it to be safe. Eric has a 2.11 machine version patch in his
> virtio-iommu series, but, like for 2.10, he or Wei should probably just
> post that independently to make sure it gets in.
> 
> Wei, will you post the 2.11 version patch?

Will do

> 
> Thanks,
> drew
>
Eric Auger Sept. 27, 2017, 8:59 a.m. UTC | #5
Hi Wei,

On 26/09/2017 18:52, Wei Huang wrote:
> 
> 
> On 09/26/2017 10:37 AM, Andrew Jones wrote:
>> On Tue, Sep 26, 2017 at 04:28:03PM +0100, Peter Maydell wrote:
>>> On 26 September 2017 at 11:54, Andrew Jones <drjones@redhat.com> wrote:
>>>> On Fri, Sep 22, 2017 at 08:51:15AM -0500, Wei Huang wrote:
>>>>> Instead of using "1.0" as the system version of SMBIOS, we should use
>>>>> mc->name for mach-virt machine type. This matches with x86 code and
>>>>> prevents the smbios_table.machine_type test of Avocado from failing.
>>>>>
>>>>> Signed-off-by: Wei Huang <wei@redhat.com>
>>>>> ---
>>>>>  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 9e18b41..8d0c6a9 100644
>>>>> --- a/hw/arm/virt.c
>>>>> +++ b/hw/arm/virt.c
>>>>> @@ -1189,6 +1189,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";
>>>>> @@ -1202,7 +1203,7 @@ static void virt_build_smbios(VirtMachineState *vms)
>>>>>      }
>>>>>
>>>>>      smbios_set_defaults("QEMU", product,
>>>>> -                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
>>>>> +                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
>>>>>
>>>>>      smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
>>>>>                        &smbios_anchor, &smbios_anchor_len);
>>>>> --
>>>>> 2.7.5
>>>>>
>>>>>
>>>>
>>>> Reviewed-by: Andrew Jones <drjones@redhat.com>
>>>
>>> Are we OK to change this without having to tie it to the machine
>>> version number?
>>
>> Let's tie it to be safe. Eric has a 2.11 machine version patch in his
>> virtio-iommu series, but, like for 2.10, he or Wei should probably just
>> post that independently to make sure it gets in.
>>
>> Wei, will you post the 2.11 version patch?
> 
> Will do

yep, feel free to reuse my patch and remove the noiommu field.

Thanks

Eric
> 
>>
>> Thanks,
>> drew
>>
>
diff mbox

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 9e18b41..8d0c6a9 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1189,6 +1189,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";
@@ -1202,7 +1203,7 @@  static void virt_build_smbios(VirtMachineState *vms)
     }
 
     smbios_set_defaults("QEMU", product,
-                        "1.0", false, true, SMBIOS_ENTRY_POINT_30);
+                        mc->name, false, true, SMBIOS_ENTRY_POINT_30);
 
     smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len,
                       &smbios_anchor, &smbios_anchor_len);