hvm_xs_strings.h specifies xenstore entries which can be used to set or
override smbios strings. hvmloader has support for reading them, but
xl/libxl support is not wired up. This patches adds a new xl.cfg option
and libxl support to write the xenstore strings.
The xl syntax looks like:
smbios=["bios_vendor=Xen Project","system_version=1.0"]
The Go binding generation needed extending to support Arrays inside a
KeyedUnion, which is what the first patch does. The generated go code
builds, but it is otherwise untested.
There are also oem strings, oem-1..oem-99, that HVM loader supports.
xl parse multiple oem strings like smbios=["oem=A,oem=B"], libxl then
iterates over them and assigned to the oem-%d entries. Both xl and
libxl check that the 99 string limit isn't exceeded.
The rendered man page and html don't have a newline at the end of the
new section after patch 2.
"""
battery_device_name=STRING
ms_vm_genid="OPTION"
"""
however the txt format is correct:
"""
battery_device_name=STRING
ms_vm_genid="OPTION"
"""
It goes away after patch 3 is applied since it adds text about the "oem"
option in between the two lines above. I'm at a loss as to why this is
happening.
Jason Andryuk (3):
golang/xenlight: Extend KeyedUnion to support Arrays
xl/libxl: Add ability to specify SMBIOS strings
xl/libxl: Add OEM string support to smbios
docs/man/xl.cfg.5.pod.in | 49 +++++++++++++++++++
tools/golang/xenlight/gengotypes.py | 41 +++++++++-------
tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++
tools/golang/xenlight/types.gen.go | 28 +++++++++++
tools/include/libxl.h | 5 ++
tools/libs/light/libxl_dom.c | 33 +++++++++++++
tools/libs/light/libxl_types.idl | 27 +++++++++++
tools/xl/xl_parse.c | 71 +++++++++++++++++++++++++++-
8 files changed, 288 insertions(+), 17 deletions(-)
--
2.37.3