mbox series

[v3,0/3] pc: Support configuration of SMBIOS entry point type

Message ID 20211026151100.1691925-1-ehabkost@redhat.com
Headers show
Series pc: Support configuration of SMBIOS entry point type | expand

Message

Eduardo Habkost Oct. 26, 2021, 3:10 p.m. UTC
This includes code previously submitted[1] by Daniel P. Berrangé
to add a "smbios-ep" machine property on PC.

SMBIOS 3.0 is necessary to support more than ~720 VCPUs, as a
large number of VCPUs can easily hit the table size limit of
SMBIOS 2.1 entry points.

Changes from v2:
* Renamed option to "smbios-entry-point-type" for clarity
* Renamed option values to "32" and "64", for two reasons:
  * The option is not about reporting an exact SMBIOS
    version, but just the entry point format.
    FWIW, the SMBIOS specification uses the phrases "32-bit entry
    point" and "64-bit entry point" more often than "2.1 entry
    point" and "3.0 entry point".
  * QAPI doesn't allow us to use enum member names with dots
    or underscores

[1] https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat.com
    https://lore.kernel.org/qemu-devel/20200908165438.1008942-6-berrange@redhat.com

Eduardo Habkost (3):
  smbios: Rename SMBIOS_ENTRY_POINT_* enums
  hw/smbios: Use qapi for SmbiosEntryPointType
  hw/i386: expose a "smbios-entry-point-type" PC machine property

 include/hw/firmware/smbios.h | 10 ++--------
 include/hw/i386/pc.h         |  4 ++++
 hw/arm/virt.c                |  2 +-
 hw/i386/pc.c                 | 26 ++++++++++++++++++++++++++
 hw/i386/pc_piix.c            |  2 +-
 hw/i386/pc_q35.c             |  2 +-
 hw/smbios/smbios.c           |  8 ++++----
 qapi/machine.json            | 12 ++++++++++++
 8 files changed, 51 insertions(+), 15 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 26, 2021, 3:14 p.m. UTC | #1
On 10/26/21 17:10, Eduardo Habkost wrote:
> This prepares for exposing the SMBIOS entry point type as a
> machine property on x86.
> 
> Based on a patch from Daniel P. Berrangé.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> First version of this code was submitted at:
> https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat.com
> 
> Changes from v2:
> * Rename "2_0"/"3_1" to "32"/"64", to
>   make the names more QAPI-friendly (as underscores and dots are
>   not allowed by QAPI)
> * Move definition from smbios.json back to machine.json
>   (no need for a separate file just for one enum)
> 
> Changes from v1:
> * Patch was split in two
> * Moved definition to smbios.json
> ---
>  include/hw/firmware/smbios.h | 10 ++--------
>  qapi/machine.json            | 12 ++++++++++++
>  2 files changed, 14 insertions(+), 8 deletions(-)

> +##
> +# @SmbiosEntryPointType:
> +#
> +# @32: SMBIOS version 2.1 (32-bit) Entry Point
> +#
> +# @64: SMBIOS version 3.0 (64-bit) Entry Point
> +#
> +# Since: 6.1

6.2, otherwise:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> +##
> +{ 'enum': 'SmbiosEntryPointType',
> +  'data': [ '32', '64' ] }
>
Michael S. Tsirkin Nov. 1, 2021, 10:32 p.m. UTC | #2
On Tue, Oct 26, 2021 at 11:10:57AM -0400, Eduardo Habkost wrote:
> This includes code previously submitted[1] by Daniel P. Berrangé
> to add a "smbios-ep" machine property on PC.
> 
> SMBIOS 3.0 is necessary to support more than ~720 VCPUs, as a
> large number of VCPUs can easily hit the table size limit of
> SMBIOS 2.1 entry points.


We need acks from QAPI supporters on this.

> Changes from v2:
> * Renamed option to "smbios-entry-point-type" for clarity
> * Renamed option values to "32" and "64", for two reasons:
>   * The option is not about reporting an exact SMBIOS
>     version, but just the entry point format.
>     FWIW, the SMBIOS specification uses the phrases "32-bit entry
>     point" and "64-bit entry point" more often than "2.1 entry
>     point" and "3.0 entry point".
>   * QAPI doesn't allow us to use enum member names with dots
>     or underscores
> 
> [1] https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berrange@redhat.com
>     https://lore.kernel.org/qemu-devel/20200908165438.1008942-6-berrange@redhat.com
> 
> Eduardo Habkost (3):
>   smbios: Rename SMBIOS_ENTRY_POINT_* enums
>   hw/smbios: Use qapi for SmbiosEntryPointType
>   hw/i386: expose a "smbios-entry-point-type" PC machine property
> 
>  include/hw/firmware/smbios.h | 10 ++--------
>  include/hw/i386/pc.h         |  4 ++++
>  hw/arm/virt.c                |  2 +-
>  hw/i386/pc.c                 | 26 ++++++++++++++++++++++++++
>  hw/i386/pc_piix.c            |  2 +-
>  hw/i386/pc_q35.c             |  2 +-
>  hw/smbios/smbios.c           |  8 ++++----
>  qapi/machine.json            | 12 ++++++++++++
>  8 files changed, 51 insertions(+), 15 deletions(-)
> 
> -- 
> 2.32.0