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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/