diff options
author | David Sommerseth <davids@redhat.com> | 2009-07-02 17:10:30 +0200 |
---|---|---|
committer | David Sommerseth <davids@redhat.com> | 2009-07-02 17:10:30 +0200 |
commit | 6bd9742784fb487463449e41330cdd102e0a5df1 (patch) | |
tree | 8c5ff2803233e9275c2d0910d83e560c9a70d4f6 | |
parent | ebb06f31e490f181b2e2267b0268421fda9b5d95 (diff) | |
download | python-dmidecode-6bd9742784fb487463449e41330cdd102e0a5df1.tar.gz python-dmidecode-6bd9742784fb487463449e41330cdd102e0a5df1.tar.xz python-dmidecode-6bd9742784fb487463449e41330cdd102e0a5df1.zip |
Completed python XML map for TypeMap 0x05
-rw-r--r-- | src/dmidecode.c | 15 | ||||
-rw-r--r-- | src/pymap.xml | 32 |
2 files changed, 39 insertions, 8 deletions
diff --git a/src/dmidecode.c b/src/dmidecode.c index 9a35ecb..41f882c 100644 --- a/src/dmidecode.c +++ b/src/dmidecode.c @@ -1160,10 +1160,11 @@ void dmi_processor_voltage(xmlNode *node, u8 code) dmixml_AddAttribute(vltg_n, "unknown_value", "1"); } else { for(i = 0; i <= 2; i++) { - if( code & (1 << i) ) { - xmlNode *v_n = dmixml_AddTextChild(vltg_n, "Voltage", "%s", voltage[i]); - dmixml_AddAttribute(v_n, "unit", "V"); - } + xmlNode *v_n = dmixml_AddTextChild(vltg_n, "Voltage", "%s", voltage[i]); + dmixml_AddAttribute(v_n, "key_compound", "%s V", voltage[i]); + dmixml_AddAttribute(v_n, "available", "%i", (code & (1 << i) ? 1 : 0)); + dmixml_AddAttribute(v_n, "unit", "V"); + v_n = NULL; } } } @@ -1340,7 +1341,7 @@ void dmi_memory_controller_ec_capabilities(xmlNode *node, const char *tagname, u if(code & (1 << i)) { xmlNode *c_n = dmixml_AddTextChild(cap_n, "Capability", "%s", capabilities[i]); assert( c_n != NULL ); - dmixml_AddAttribute(c_n, "index", "%i", i); + dmixml_AddAttribute(c_n, "index", "%i", i+1); } } } @@ -1411,7 +1412,7 @@ void dmi_memory_controller_slots(xmlNode *node, u8 count, const u8 * p) assert( mslts_n != NULL ); for(i = 0; i < count; i++) { - xmlNode *sl_n = dmixml_AddTextChild(mslts_n, "Slot", "0x%04x:", WORD(p + sizeof(u16) * i)); + xmlNode *sl_n = dmixml_AddTextChild(mslts_n, "Slot", "0x%x:", WORD(p + sizeof(u16) * i)); dmixml_AddAttribute(sl_n, "index", "%i", i); } } @@ -1448,7 +1449,7 @@ void dmi_memory_module_types(xmlNode *node, const char *tagname, u16 code) if(code & (1 << i)) { xmlNode *mt_n = dmixml_AddTextChild(mmt_n, "ModuleType", types[i]); assert( mt_n != NULL ); - dmixml_AddAttribute(mt_n, "index", "%i", i); + dmixml_AddAttribute(mt_n, "index", "%i", i+1); } } } diff --git a/src/pymap.xml b/src/pymap.xml index e59fdf1..263f7db 100644 --- a/src/pymap.xml +++ b/src/pymap.xml @@ -174,8 +174,38 @@ </Map> </TypeMap> - <!-- FIXME : Type 05 : Memory Controller --> + <!-- Type 05 : Memory Controller --> <TypeMap id="0x05"> + <Map rootpath="/dmidecode/MemoryCtrlInfo" keytype="string" key="@handle" valuetype="dict"> + <Map keytype="constant" key="dmi_type" valuetype="integer" value="@type"/> + <Map keytype="constant" key="dmi_handle" valuetype="string" value="@handle"/> + <Map keytype="constant" key="dmi_size" valuetype="integer" value="@size"/> + <Map keytype="constant" key="data" valuetype="dict"> + <Map keytype="constant" key="Associated Memory Slots" + valuetype="list:string" value="AssociatedMemorySlots/Slot"/> + <Map keytype="constant" key="Current Interleave" valuetype="string" value="CurrentInterleave"/> + <Map keytype="constant" key="Enabled Error Correcting Capabilities" + valuetype="list:string" value="EnabledErrorCorrection/Capability" + fixedsize="6" index_attr="index"/> + <Map keytype="constant" key="Error Correcting Capabilities" + valuetype="list:string" value="ErrorCorrection/Capabilities/Capability" + fixedsize="6" index_attr="index"/> + <Map keytype="constant" key="Error Detecting Method" + valuetype="string" value="ErrorCorrection/CorrectionMethod"/> + <Map keytype="constant" key="Maximum Memory Module Size" + valuetype="string" value="concat(MaxMemoryModuleSize,' ',MaxMemoryModuleSize/@unit)"/> + <Map keytype="constant" key="Maximum Total Memory Size" + valuetype="string" value="concat(MaxTotalMemorySize,' ',MaxTotalMemorySize/@unit)"/> + <Map rootpath="Voltages" keytype="constant" key="Memory Module Voltage" valuetype="dict"> + <Map keytype="string" key="Voltage/@key_compound" valuetype="boolean" value="Voltage/@available"/> + </Map> + <Map keytype="constant" key="Supported Interleave" valuetype="string" value="SupportedInterleave"/> + <Map keytype="constant" key="Supported Memory Types" + valuetype="list:string" value="SupportedTypes/ModuleType" fixedsize="11" index_attr="index"/> + <Map keytype="constant" key="Supported Speeds" + valuetype="list:string" value="SupportedSpeeds/Speed" emptyIsNone="1"/> + </Map> + </Map> </TypeMap> <!-- FIXME : Type 06 : Memory Module --> |