On Fri, May 10, 2019 at 02:20:25PM +0200, Michal Privoznik wrote: > https://bugzilla.redhat.com/show_bug.cgi?id=1426162 > > Turns out, some aarch64 systems have SMBIOS info. That means we In fact aarch64 are required to support SMBIOS if they want to be compliant with the Server Base Boot Requirements spec. This effectively covers any aarch64 machine targetted as data center servers. > can use dmidecode to fetch some information. If that fails, fall > back to the old behaviour. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > src/util/virsysinfo.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c > index b371e8dd26..83da3897ce 100644 > --- a/src/util/virsysinfo.c > +++ b/src/util/virsysinfo.c > @@ -192,6 +192,14 @@ void virSysinfoDefFree(virSysinfoDefPtr def) > } > > > +static bool > +virSysinfoDefEmpty(const virSysinfoDef *def) > +{ > + return !(def->bios || def->system || def->nbaseBoard || > + def->chassis || def->nprocessor || def->nmemory || def->oemStrings); > +} > + > + > static int > virSysinfoParsePPCSystem(const char *base, virSysinfoSystemDefPtr *sysdef) > { > @@ -433,6 +441,16 @@ virSysinfoReadARM(void) > virSysinfoDefPtr ret = NULL; > char *outbuf = NULL; > > + /* Some ARM systems have DMI tables available. */ > + if ((ret = virSysinfoReadDMI())) { > + if (!virSysinfoDefEmpty(ret)) > + return ret; > + virSysinfoDefFree(ret); > + } > + > + /* Well, we've tried. Fall back to parsing cpuinfo */ > + virResetLastError(); > + > if (VIR_ALLOC(ret) < 0) > goto no_memory; > > -- > 2.21.0 > > -- > libvir-list mailing list > libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list