On 9/8/20 6:54 PM, Daniel P. Berrangé wrote: > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > qemu-options.hx | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/qemu-options.hx b/qemu-options.hx > index b0f020594e..0cd231b164 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -2296,6 +2296,8 @@ DEF("smbios", HAS_ARG, QEMU_OPTION_smbios, > "-smbios > type=4[,sock_pfx=str][,manufacturer=str][,version=str][,serial=str]\n" > " > [,asset=str][,part=str][,max-speed=%d][,current-speed=%d]\n" > " specify SMBIOS type 4 fields\n" > + "-smbios type=11[,value=str][,path=filename]\n" > + " specify SMBIOS type 11 fields\n" > "-smbios > type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str]\n" > " [,asset=str][,part=str][,speed=%d]\n" > " specify SMBIOS type 17 fields\n", > @@ -2319,6 +2321,45 @@ SRST > ``-smbios > type=4[,sock_pfx=str][,manufacturer=str][,version=str][,serial=str][,asset=str][,part=str]`` > Specify SMBIOS type 4 fields > > +``-smbios type=11[,value=str][,path=filename]`` > + Specify SMBIOS type 11 fields inline > + > + This argument can be repeated multiple times, and values are added in > the order they are parsed. > + Applications intending to use OEM strings data are encouraged to use > their application name as > + a prefix for the value string. This facilitates passing information for > multiple applications > + concurrently. > + > + The ``value=str`` syntax provides the string data inline, while the > ``path=filename`` syntax > + loads data from a file on disk. Note that the file is not permitted to > contain any NUL bytes. > + > + Both the ``value`` and ``path`` options can be repeated multiple times > and will be added to > + the SMBIOS table in the order in which they appear. > + > + Note that on the x86 architecture, the total size of all SMBIOS tables > is limited to 65535 > + bytes. Thus the OEM strings data is not suitable for passing large > amounts of data into the > + guest. Instead it should be used as a indicator to inform the guest > where to locate the real > + data set, for example, by specifying the serial ID of a block device. > + > + An example passing three strings is > + > + .. parsed-literal:: > + > + -smbios > type=11,value=cloud-init:ds=nocloud-net;s=http://10.10.0.1:8000/,\\ > + > value=anaconda:method=http://dl.fedoraproject.org/pub/fedora/linux/releases/25/x86_64/os,\\ > + path=/some/file/with/oemstringsdata.txt > + > + In the guest OS this is visible with the ``dmidecode`` command > + > + .. parsed-literal:: > + > + $ dmidecode -t 11 > + Handle 0x0E00, DMI type 11, 5 bytes > + OEM Strings > + String 1: cloud-init:ds=nocloud-net;s=http://10.10.0.1:8000/ > + String 2: > anaconda:method=http://dl.fedoraproject.org/pub/fedora/linux/releases/25/x86_64/os > + String 3: myapp:some extra data > + > + > ``-smbios > type=17[,loc_pfx=str][,bank=str][,manufacturer=str][,serial=str][,asset=str][,part=str][,speed=%d]`` > Specify SMBIOS type 17 fields > ERST >