On 02/09/2012 01:47 AM, Prerna Saxena wrote: > From: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx> > Date: Tue, 7 Feb 2012 16:55:26 +0530 > Subject: [PATCH] Implement sysinfo on PowerPC. > > Libvirt on x86 parses 'dmidecode' to gather characteristics of host > system, which are then reflected to libvirt users by virSysinfoRead(), > invoked by 'virsh sysinfo'. > This patch implements it on PowerPC by reading /proc/cpuinfo. > > The presently available fields in 'sysinfo' are strongly tied to > dmidecode output fields. This patch attempts to retrofit the > information available in PowerPC to appropriate sysinfo fields. I will > be happy to change the organization of this information to if there > are expected outputs for individual fields. (I couldnt find any > documentation which explained what each sysinfo field was expected > to convey.) At this point, I think it might be worth waiting until post-0.9.10, and rebasing this on the latest. In particular, > + > +#if defined(__powerpc__) > +static char* > +virSysinfoParseSystem(char *base, virSysinfoDefPtr ret) We just recently changed the signature of this function in the x86 case, so the two implementations should probably have a similar signature. > + > + ret->system_manufacturer = NULL; > + ret->system_product = NULL; Setting these to NULL is redundant, since ret was just freshly allocated. > + ret->system_uuid = NULL; Is there any alternative way to obtain the host UUID that we could fill in here? > +/* virSysinfoRead for PowerPC */ > +virSysinfoDefPtr > +virSysinfoRead(void) { > + virSysinfoDefPtr ret = NULL; > + char *outbuf = NULL; > + > + if (VIR_ALLOC(ret) < 0) > + goto no_memory; > + > + /* mark irrelevant fields as 'NULL' */ > + ret->bios_vendor = NULL; > + ret->bios_version = NULL; > + ret->bios_date = NULL; > + ret->bios_release = NULL; Again, redundant, since VIR_ALLOC() already took care of that. > + > + if(virFileReadAll(CPUINFO, 2048, &outbuf) < 0) { > + virSmbiosReportError(VIR_ERR_INTERNAL_ERROR, > + _("Failed to open %s"),CPUINFO); Nit: space after ','. Overall, the idea looks nice. I'm also wondering how much of that implementation of parsing /proc/cpuinfo can be reused on x86 in the cases where dmidecode is not accessible (such as when running qemu:///session as non-root)? Filling out what we can seems like a good idea. -- Eric Blake eblake@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list