On Mon, 14 Dec 2020 15:50:28 -0500 Eduardo Habkost <ehabk...@redhat.com> 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é <berra...@redhat.com> > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- > First version of this code was submitted at: > https://lore.kernel.org/qemu-devel/20200908165438.1008942-5-berra...@redhat.com > > Changes from v1: > * Patch was split in two > * Declarations were moved to qapi/smbios.json > * Documentation was updated to use the same terminology used in > SMBIOS documentation > * Documentation was updated to "Since: 6.0" > --- > qapi/qapi-schema.json | 1 + > qapi/smbios.json | 11 +++++++++++ > include/hw/firmware/smbios.h | 10 ++-------- > qapi/meson.build | 1 + > 4 files changed, 15 insertions(+), 8 deletions(-) > create mode 100644 qapi/smbios.json > > diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json > index 0b444b76d2..87a183fb13 100644 > --- a/qapi/qapi-schema.json > +++ b/qapi/qapi-schema.json > @@ -86,6 +86,7 @@ > { 'include': 'machine.json' } > { 'include': 'machine-target.json' } > { 'include': 'replay.json' } > +{ 'include': 'smbios.json' } > { 'include': 'misc.json' } > { 'include': 'misc-target.json' } > { 'include': 'audio.json' } > diff --git a/qapi/smbios.json b/qapi/smbios.json > new file mode 100644 > index 0000000000..55b3bd2e83 > --- /dev/null > +++ b/qapi/smbios.json > @@ -0,0 +1,11 @@ > +## > +# @SmbiosEntryPointType: > +# > +# @2_1: SMBIOS version 2.1 (32-bit) Entry Point > +# > +# @3_0: SMBIOS version 3.0 (64-bit) Entry Point > +# > +# Since: 6.0 > +## > +{ 'enum': 'SmbiosEntryPointType', > + 'data': [ '2_1', '3_0' ] } > diff --git a/include/hw/firmware/smbios.h b/include/hw/firmware/smbios.h > index 5467ecec78..b3beef1606 100644 > --- a/include/hw/firmware/smbios.h > +++ b/include/hw/firmware/smbios.h > @@ -1,6 +1,8 @@ > #ifndef QEMU_SMBIOS_H > #define QEMU_SMBIOS_H > > +#include "qapi/qapi-types-smbios.h" > + > /* > * SMBIOS Support > * > @@ -23,14 +25,6 @@ struct smbios_phys_mem_area { > uint64_t length; > }; > > -/* > - * SMBIOS spec defined tables > - */ > -typedef enum SmbiosEntryPointType { > - SMBIOS_ENTRY_POINT_TYPE_2_1, > - SMBIOS_ENTRY_POINT_TYPE_3_0, > -} SmbiosEntryPointType; > - > /* SMBIOS Entry Point > * There are two types of entry points defined in the SMBIOS specification > * (see below). BIOS must place the entry point(s) at a 16-byte-aligned > diff --git a/qapi/meson.build b/qapi/meson.build > index 0e98146f1f..f7fb73d41b 100644 > --- a/qapi/meson.build > +++ b/qapi/meson.build > @@ -42,6 +42,7 @@ qapi_all_modules = [ > 'replay', > 'rocker', > 'run-state', > + 'smbios', > 'sockets', > 'tpm', > 'trace',