On Thu, Jun 23, 2011 at 01:16:36PM +0900, Minoru Usui wrote: > Hi, Daniel > > Thank you for you reply. [...] > I'm sorry for late posting and lack explanation. > Expected output is below. > > I add "<processor>" and "<memory_device>" part. > "<processor>" part gets "Processor Information" part of dmidecode -t4, > and "<memory_device>" part gets existing "Memory Device" part of dmidecode -t17. > Existing "Memory Device" part means "Size" member is not "No Module Installed". > > How about this? > > ------------------------------------------------------------- > # ./build/tools/virsh sysinfo > <sysinfo type='smbios'> > <bios> > <entry name='vendor'>Phoenix Technologies LTD</entry> > <entry name='version'>1.0.5S46</entry> > <entry name='date'>12/21/2006</entry> > </bios> > <system> > <entry name='manufacturer'>NEC</entry> > <entry name='product'>Express5800/120Rg-1 [N8100-1241]</entry> > <entry name='version'>FR1.5</entry> > <entry name='serial'>6800109</entry> > <entry name='uuid'>BC466200-2232-11DB-8001-001617617E41</entry> > <entry name='sku'>Not Specified</entry> > <entry name='family'>Not Specified</entry> > </system> [...] > <processor> > <entry name='socket_destination'>CPU#2 </entry> > <entry name='type'>Central Processor</entry> > <entry name='family'>Xeon</entry> > <entry name='manufacturer'>Intel Corporation</entry> > <entry name='signature'>Type 0, Family 6, Model 15, Stepping 7</entry> > <entry name='version'>Intel(R) Xeon(R) CPU E5345 @ 2.33GHz </entry> > <entry name='external_clock'>333 MHz</entry> > <entry name='max_speed'>3000 MHz</entry> > <entry name='status'>Populated, Enabled</entry> > <entry name='serial_number'> </entry> > <entry name='part_number'> </entry> > </processor> [...] > <memory_device> > <entry name='size'>1024 MB</entry> > <entry name='form_factor'>DIMM</entry> > <entry name='locator'>DIMM 21</entry> > <entry name='bank_locator'>BANK 1</entry> > <entry name='type'>DDR2</entry> > <entry name='type_detail'>Synchronous</entry> > <entry name='speed'>533 MHz</entry> > <entry name='manufacturer'>80CE </entry> > <entry name='serial_number'>030C5638</entry> > <entry name='part_number'>M395T2953CZ4-CE61 </entry> > </memory_device> Okay, I reviewed the patches, they are okay, except the freeing was leaking all the strings from the memory and processor arrays. it was easy to fix. I think it's okay to add this based on the fact we want extend libvirt toward being an entry point for management tools, but that's on the edge since it's not really specific to virtualization (and where needed i.e. CPU flags and memory hierarchy) those informations are already provided. My question is "do you need all those informations ???", my concern is that already on my small desktop the output is 3KB and I assume on a very large box we could hit hundreds of kilobytes. Also empty entries (i.e. zero lenght or spaces) should IMHO be removed. I'm ready to commit those with the memory leak fixes, but a bit more feedback would be welcome :-) Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list