Lines Matching +full:0 +full:x06

49             address = 0xF0000
50 mem = bits.memory(0xF0000, 0x10000)
51 for offset in range(0, len(mem), 16):
55 csum = sum(map(ord, mem[offset:offset + entry_point_length])) & 0xff
56 if csum == 0:
66 sm._header_memory = bits.memory(sm_ptr, 0x1f)
161 if i == 0:
170 smbios_structure_type = 0
186 characteristic_bytes = self.length - 0x12
211 if self.length > 0x8:
214 0: 'Reserved',
225 if self.length > 0x19:
245 0xA: 'Motherboard',
246 0xB: 'Processor/Memory Module',
247 0xC: 'Processor/IO Module',
248 0xD: 'Interconnect Board'
263 if self.length > 0x8:
266 if self.length > 0x9:
268 …f.add_field('hosting_board', bool(bitfields.getbits(self.feature_flags, 0)), "feature_flags[0]={}")
274 if self.length > 0xA:
277 if self.length > 0xB:
280 if self.length > 0xD:
283 if self.length > 0xE:
285 if self.handle_count > 0:
305 0x01: 'Other',
306 0x02: 'Unknown',
307 0x03: 'Desktop',
308 0x04: 'Low Profile Desktop',
309 0x05: 'Pizza Box',
310 0x06: 'Mini Tower',
311 0x07: 'Tower',
312 0x08: 'Portable',
313 0x09: 'Laptop',
314 0x0A: 'Notebook',
315 0x0B: 'Hand Held',
316 0x0C: 'Docking Station',
317 0x0D: 'All in One',
318 0x0E: 'Sub Notebook',
319 0x0F: 'Space-saving',
320 0x10: 'Lunch Box',
321 0x11: 'Main Server Chassis',
322 0x12: 'Expansion Chassis',
323 0x13: 'SubChassis',
324 0x14: 'Bus Expansion Chassis',
325 0x15: 'Peripheral Chassis',
326 0x16: 'RAID Chassis',
327 0x17: 'Rack Mount Chassis',
328 0x18: 'Sealed-case PC',
329 0x19: 'Multi-system chassis W',
330 0x1A: 'Compact PCI',
331 0x1B: 'Advanced TCA',
332 0x1C: 'Blade',
333 0x1D: 'Blade Enclosure',
335 …ure_type', bitfields.getbits(self.enumerated_type, 6, 0), unpack.format_table("enumerated_type[6:0
342 0x01: 'Other',
343 0x02: 'Unknown',
344 0x03: 'Safe',
345 0x04: 'Warning',
346 0x05: 'Critical',
347 0x06: 'Non-recoverable',
353 0x01: 'Other',
354 0x02: 'Unknown',
355 0x03: 'None',
356 0x04: 'External interface locked out',
357 0x05: 'External interface enabled',
360 if self.length > 0xd:
362 if self.length > 0x11:
367 if getattr(self, 'contained_element_count', 0):
369 …if self.length > (0x15 + (getattr(self, 'contained_element_count', 0) * getattr(self, 'contained_e…
387 0: 'SMBIOS baseboard type enumeration',
391 self.add_field('type', bitfields.getbits(self.contained_element_type, 6, 0))
392 if self.type_select == 0:
411 0x01: 'Other',
412 0x02: 'Unknown',
413 0x03: 'Central Processor',
414 0x04: 'Math Processor',
415 0x05: 'DSP Processor',
416 0x06: 'Video Processor',
429 0x01: 'Other',
430 0x02: 'Unknown',
431 0x03: 'Daughter Board',
432 0x04: 'ZIF Socket',
433 0x05: 'Replaceable Piggy Back',
434 0x06: 'None',
435 0x07: 'LIF Socket',
436 0x08: 'Slot 1',
437 0x09: 'Slot 2',
438 0x0A: '370-pin socket',
439 0x0B: 'Slot A',
440 0x0C: 'Slot M',
441 0x0D: 'Socket 423',
442 0x0E: 'Socket A (Socket 462)',
443 0x0F: 'Socket 478',
444 0x10: 'Socket 754',
445 0x11: 'Socket 940',
446 0x12: 'Socket 939',
447 0x13: 'Socket mPGA604',
448 0x14: 'Socket LGA771',
449 0x15: 'Socket LGA775',
450 0x16: 'Socket S1',
451 0x17: 'Socket AM2',
452 0x18: 'Socket F (1207)',
453 0x19: 'Socket LGA1366',
454 0x1A: 'Socket G34',
455 0x1B: 'Socket AM3',
456 0x1C: 'Socket C32',
457 0x1D: 'Socket LGA1156',
458 0x1E: 'Socket LGA1567',
459 0x1F: 'Socket PGA988A',
460 0x20: 'Socket BGA1288',
461 0x21: 'Socket rPGA988B',
462 0x22: 'Socket BGA1023',
463 0x23: 'Socket BGA1224',
464 0x24: 'Socket BGA1155',
465 0x25: 'Socket LGA1356',
466 0x26: 'Socket LGA2011',
467 0x27: 'Socket FS1',
468 0x28: 'Socket FS2',
469 0x29: 'Socket FM1',
470 0x2A: 'Socket FM2',
473 if self.length > 0x1A:
477 if self.length > 0x20:
481 if self.length > 0x24:
486 if self.length > 0x28:
488 if self.length > 0x2A:
507 0x01: 'Other',
508 0x02: 'Unknown',
509 0x03: 'None',
510 0x04: '8-bit Parity',
511 0x05: '32-bit ECC',
512 0x06: '64-bit ECC',
513 0x07: '128-bit ECC',
514 0x08: 'CRC'
519 0x01: 'Other',
520 0x02: 'Unknown',
521 0x03: 'One-Way Interleave',
522 0x04: 'Two-Way Interleave',
523 0x05: 'Four-Way Interleave',
524 0x06: 'Eight-Way Interleave',
525 0x07: 'Sixteen-Way Interleave'
535 …('req_voltage_b0', bitfields.getbits(self.memory_module_voltage, 0), "memory_module_voltage[0]={}")
558 0: 'single',
562 …f.add_field('installed_size', bitfields.getbits(self.installed_mem, 6, 0), "installed_mem[6:0]={}")
565 … self.add_field('enabled_size', bitfields.getbits(self.installed_mem, 6, 0), "enabled_mem[6:0]={}")
570 …rs_received', bool(bitfields.getbits(self.error_status, 0)), unpack.format_table("error_status[0]=…
587 0x01: 'Other',
588 0x02: 'Unknown',
589 0x03: 'Central Processor',
590 0x04: 'Math Processor',
591 0x05: 'DSP Processor',
592 0x06: 'Video Processor',
596 0b00: 'Write Through',
597 0b01: 'Write Back',
598 0b10: 'Varies with Memory Address',
599 0b11: 'Unknown'
604 0b00: 'Internal',
605 0b01: 'External',
606 0b10: 'Reserved',
607 0b11: 'Unknown'
611 …ld('cache_level', bitfields.getbits(self.cache_configuration, 2, 0), "cache_configuration[2:0]={}")
614 0: '1K granularity',
618 …ze_in_granularity', bitfields.getbits(self.cache_configuration, 14, 0), "max_cache_size[14, 0]={}")
620 if self.installed_size != 0:
622 …ze_in_granularity', bitfields.getbits(self.cache_configuration, 14, 0), "installed_size[14, 0]={}")
625 if self.length > 0x0F:
627 if self.length > 0x10:
629 0x01: 'Other',
630 0x02: 'Unknown',
631 0x03: 'None',
632 0x04: 'Parity',
633 0x05: 'Single-bit ECC',
634 0x06: 'Multi-bit ECC'
637 if self.length > 0x10:
639 0x01: 'Other',
640 0x02: 'Unknown',
641 0x03: 'Instruction',
642 0x04: 'Data',
643 0x05: 'Unified'
646 if self.length > 0x12:
648 0x01: 'Other',
649 0x02: 'Unknown',
650 0x03: 'Direct Mapped',
651 0x04: '2-way Set-Associative',
652 0x05: '4-way Set-Associative',
653 0x06: 'Fully Associative',
654 0x07: '8-way Set-Associative',
655 0x08: '16-way Set-Associative',
656 0x09: '12-way Set-Associative',
657 0x0A: '24-way Set-Associative',
658 0x0B: '32-way Set-Associative',
659 0x0C: '48-way Set-Associative',
660 0x0D: '64-way Set-Associative',
661 0x0E: '20-way Set-Associative'
681 0x00: 'None',
682 0x01: 'Centronics',
683 0x02: 'Mini Centronics',
684 0x03: 'Proprietary',
685 0x04: 'DB-25 pin male',
686 0x05: 'DB-25 pin female',
687 0x06: 'DB-15 pin male',
688 0x07: 'DB-15 pin female',
689 0x08: 'DB-9 pin male',
690 0x09: 'DB-9 pin female',
691 0x0A: 'RJ-11',
692 0x0B: 'RJ-45',
693 0x0C: '50-pin MiniSCSI',
694 0x0D: 'Mini-DIN',
695 0x0E: 'Micro-DIN',
696 0x0F: 'PS/2',
697 0x10: 'Infrared',
698 0x11: 'HP-HIL',
699 0x12: 'Access Bus (USB)',
700 0x13: 'SSA SCSI',
701 0x14: 'Circular DIN-8 male',
702 0x15: 'Circular DIN-8 female',
703 0x16: 'On Board IDE',
704 0x17: 'On Board Floppy',
705 0x18: '9-pin Dual Inline (pin 10 cut)',
706 0x19: '25-pin Dual Inline (pin 26 cut)',
707 0x1A: '50-pin Dual Inline',
708 0x1B: '68-pin Dual Inline',
709 0x1C: 'On Board Sound Input from CD-ROM',
710 0x1D: 'Mini-Centronics Type-14',
711 0x1E: 'Mini-Centronics Type-26',
712 0x1F: 'Mini-jack (headphones)',
713 0x20: 'BNC',
714 0x21: '1394',
715 0x22: 'SAS/SATA Plug Receptacle',
716 0xA0: 'PC-98',
717 0xA1: 'PC-98Hireso',
718 0xA2: 'PC-H98',
719 0xA3: 'PC-98Note',
720 0xA4: 'PC-98Full',
721 0xFF: 'Other',
727 0x00: 'None',
728 0x01: 'Parallel Port XT/AT Compatible',
729 0x02: 'Parallel Port PS/2',
730 0x03: 'Parallel Port ECP',
731 0x04: 'Parallel Port EPP',
732 0x05: 'Parallel Port ECP/EPP',
733 0x06: 'Serial Port XT/AT Compatible',
734 0x07: 'Serial Port 16450 Compatible',
735 0x08: 'Serial Port 16550 Compatible',
736 0x09: 'Serial Port 16550A Compatible',
737 0x0A: 'SCSI Port',
738 0x0B: 'MIDI Port',
739 0x0C: 'Joy Stick Port',
740 0x0D: 'Keyboard Port',
741 0x0E: 'Mouse Port',
742 0x0F: 'SSA SCSI',
743 0x10: 'USB',
744 0x11: 'FireWire (IEEE P1394)',
745 0x12: 'PCMCIA Type I2',
746 0x13: 'PCMCIA Type II',
747 0x14: 'PCMCIA Type III',
748 0x15: 'Cardbus',
749 0x16: 'Access Bus Port',
750 0x17: 'SCSI II',
751 0x18: 'SCSI Wide',
752 0x19: 'PC-98',
753 0x1A: 'PC-98-Hireso',
754 0x1B: 'PC-H98',
755 0x1C: 'Video Port',
756 0x1D: 'Audio Port',
757 0x1E: 'Modem Port',
758 0x1F: 'Network Port',
759 0x20: 'SATA',
760 0x21: 'SAS',
761 0xA0: '8251 Compatible',
762 0xA1: '8251 FIFO Compatible',
763 0xFF: 'Other',
782 0x01: 'Other',
783 0x02: 'Unknown',
784 0x03: 'ISA',
785 0x04: 'MCA',
786 0x05: 'EISA',
787 0x06: 'PCI',
788 0x07: 'PC Card (PCMCIA)',
789 0x08: 'VL-VESA',
790 0x09: 'Proprietary',
791 0x0A: 'Processor Card Slot',
792 0x0B: 'Proprietary Memory Card Slot',
793 0x0C: 'I/O Riser Card Slot',
794 0x0D: 'NuBus',
795 0x0E: 'PCI 66MHz Capable',
796 0x0F: 'AGP',
797 0x10: 'AGP 2X',
798 0x11: 'AGP 4X',
799 0x12: 'PCI-X',
800 0x13: 'AGP 8X',
801 0xA0: 'PC-98/C20',
802 0xA1: 'PC-98/C24',
803 0xA2: 'PC-98/E',
804 0xA3: 'PC-98/Local Bus',
805 0xA4: 'PC-98/Card',
806 0xA5: 'PCI Express',
807 0xA6: 'PCI Express x1',
808 0xA7: 'PCI Express x2',
809 0xA8: 'PCI Express x4',
810 0xA9: 'PCI Express x8',
811 0xAA: 'PCI Express x16',
812 0xAB: 'PCI Express Gen 2',
813 0xAC: 'PCI Express Gen 2 x1',
814 0xAD: 'PCI Express Gen 2 x2',
815 0xAE: 'PCI Express Gen 2 x4',
816 0xAF: 'PCI Express Gen 2 x8',
817 0xB0: 'PCI Express Gen 2 x16',
818 0xB1: 'PCI Express Gen 3',
819 0xB2: 'PCI Express Gen 3 x1',
820 0xB3: 'PCI Express Gen 3 x2',
821 0xB4: 'PCI Express Gen 3 x4',
822 0xB5: 'PCI Express Gen 3 x8',
823 0xB6: 'PCI Express Gen 3 x16',
827 0x01: 'Other',
828 0x02: 'Unknown',
829 0x03: '8 bit',
830 0x04: '16 bit',
831 0x05: '32 bit',
832 0x06: '64 bit',
833 0x07: '128 bit',
834 0x08: '1x or x1',
835 0x09: '2x or x2',
836 0x0A: '4x or x4',
837 0x0B: '8x or x8',
838 0x0C: '12x or x12',
839 0x0D: '16x or x16',
840 0x0E: '32x or x32',
844 0x01: 'Other',
845 0x02: 'Unknown',
846 0x03: 'Available',
847 0x04: 'In use',
851 0x01: 'Other',
852 0x02: 'Unknown',
853 0x03: 'Short Length',
854 0x04: 'Long Length',
859 …racteristics_unknown', bool(bitfields.getbits(self.characteristics1, 0)), "characteristics1[0]={}")
867 if self.length > 0x0C:
869 …_field('supports_PME', bool(bitfields.getbits(self.characteristics2, 0)), "characteristics2[0]={}")
872 if self.length > 0x0D:
877 …on_number', bitfields.getbits(self.device_function_number, 2, 0), "device_function_number[2:0]={}")
895 0x01: 'Other',
896 0x02: 'Unknown',
897 0x03: 'Video',
898 0x04: 'SCSI Controller',
899 0x05: 'Ethernet',
900 0x06: 'Token Ring',
901 0x07: 'Sound',
902 0x08: 'PATA Controller',
903 0x09: 'SATA Controller',
904 0x0A: 'SAS Controller'
906 …type_of_device', bitfields.getbits(self.device_type, 6, 0), unpack.format_table("device_type[6:0]=…
953 if self.length > 0x05:
955 … self.add_field('abbreviated_format', bool(bitfields.getbits(self.flags, 0)), "flags[0]={}")
956 if self.length > 0x6:
994 0x00: 'Indexed I/O: 1 8-bit index port, 1 8-bit data port',
995 0x01: 'Indexed I/O: 2 8-bit index ports, 1 8-bit data port',
996 0x02: 'Indexed I/O: 1 16-bit index port, 1 8-bit data port',
997 0x03: 'Memory-mapped physical 32-bit address',
998 0x04: 'Available through General-Purpose NonVolatile Data functions',
999 xrange(0x05, 0x07F): 'Available for future assignment',
1000 xrange(0x80, 0xFF): 'BIOS Vendor/OEM-specific'
1005 … self.add_field('log_area_valid', bool(bitfields.getbits(self.log_status, 0)), "log_status[0]={}")
1008 if self.length > 0x14:
1010 0: 'No header',
1012 xrange(2, 0x7f): 'Available for future assignment',
1013 xrange(0x80, 0xff): 'BIOS vendor or OEM-specific format'
1016 if self.length > 0x15:
1018 if self.length > 0x16:
1020 …if self.length != (0x17 + (self.num_supported_log_type_descriptors * self.length_log_type_descript…
1021 …print "Error: structure length ({}) != 0x17 + (num_supported_log_type_descriptors ({}) * length_lo…
1038 0x00: 'Reserved',
1039 0x01: 'Single-bit ECC memory error',
1040 0x02: 'Multi-bit ECC memory error',
1041 0x03: 'Parity memory error',
1042 0x04: 'Bus time-out',
1043 0x05: 'I/O Channel Check',
1044 0x06: 'Software NMI',
1045 0x07: 'POST Memory Resize',
1046 0x08: 'POST Error',
1047 0x09: 'PCI Parity Error',
1048 0x0A: 'PCI System Error',
1049 0x0B: 'CPU Failure',
1050 0x0C: 'EISA FailSafe Timer time-out',
1051 0x0D: 'Correctable memory log disabled',
10520x0E: 'Logging disabled for a specific Event Type - too many errors of the same type received in a…
1053 0x0F: 'Reserved',
1054 0x10: 'System Limit Exceeded',
1055 0x11: 'Asynchronous hardware timer expired and issued a system reset',
1056 0x12: 'System configuration information',
1057 0x13: 'Hard-disk information',
1058 0x14: 'System reconfigured',
1059 0x15: 'Uncorrectable CPU-complex error',
1060 0x16: 'Log Area Reset/Cleared',
1061 0x17: 'System boot',
1062 xrange(0x18, 0x7F): 'Unused, available for assignment',
1063 xrange(0x80, 0xFE): 'Available for system- and OEM-specific assignments',
1064 0xFF: 'End of log'
1068 0x00: 'None',
1069 0x01: 'Handle',
1070 0x02: 'Multiple-Event',
1071 0x03: 'Multiple-Event Handle',
1072 0x04: 'POST Results Bitmap',
1073 0x05: 'System Management Type',
1074 0x06: 'Multiple-Event System Management Type',
1075 xrange(0x80, 0xFF): 'OEM assigned'
1086 if self.length > 0x4:
1088 0x01: "Other",
1089 0x02: "Unknown",
1090 0x03: "System board or motherboard",
1091 0x04: "ISA add-on card",
1092 0x05: "EISA add-on card",
1093 0x06: "PCI add-on card",
1094 0x07: "MCA add-on card",
1095 0x08: "PCMCIA add-on card",
1096 0x09: "Proprietary add-on card",
1097 0x0A: "NuBus",
1098 0xA0: "PC-98/C20 add-on card",
1099 0xA1: "PC-98/C24 add-on card",
1100 0xA2: "PC-98/E add-on card",
1101 0xA3: "PC-98/Local bus add-on card"
1104 if self.length > 0x05:
1106 0x01: "Other",
1107 0x02: "Unknown",
1108 0x03: "System memory",
1109 0x04: "Video memory",
1110 0x05: "Flash memory",
1111 0x06: "Non-volatile RAM",
1112 0x07: "Cache memory"
1115 if self.length > 0x06:
1117 0x01: "Other",
1118 0x02: "Unknown",
1119 0x03: "None",
1120 0x04: "Parity",
1121 0x05: "Single-bit ECC",
1122 0x06: "Multi-bit ECC",
1123 0x07: "CRC"
1126 if self.length > 0x07:
1128 if self.length > 0x0B:
1130 if self.length > 0x0D:
1132 if self.length > 0x0F:
1148 if self.length > 0x4:
1150 if self.length > 0x6:
1152 if self.length > 0x8:
1154 if self.length > 0xA:
1156 if self.length > 0xC:
1158 if self.length > 0xE:
1160 0x01: 'Other',
1161 0x02: 'Unknown',
1162 0x03: 'SIMM',
1163 0x04: 'SIP',
1164 0x05: 'Chip',
1165 0x06: 'DIP',
1166 0x07: 'ZIP',
1167 0x08: 'Proprietary Card',
1168 0x09: 'DIMM',
1169 0x0A: 'TSOP',
1170 0x0B: 'Row of chips',
1171 0x0C: 'RIMM',
1172 0x0D: 'SODIMM',
1173 0x0E: 'SRIMM',
1174 0x0F: 'FB-DIMM'
1177 if self.length > 0xF:
1179 if self.length > 0x10:
1181 if self.length > 0x11:
1183 if self.length > 0x12:
1185 0x01: 'Other',
1186 0x02: 'Unknown',
1187 0x03: 'DRAM',
1188 0x04: 'EDRAM',
1189 0x05: 'VRAM',
1190 0x06: 'SRAM',
1191 0x07: 'RAM',
1192 0x08: 'ROM',
1193 0x09: 'FLASH',
1194 0x0A: 'EEPROM',
1195 0x0B: 'FEPROM',
1196 0x0C: 'EPROM',
1197 0x0D: 'CDRAM',
1198 0x0E: '3DRAM',
1199 0x0F: 'SDRAM',
1200 0x10: 'SGRAM',
1201 0x11: 'RDRAM',
1202 0x12: 'DDR',
1203 0x13: 'DDR2',
1204 0x14: 'DDR2 FB-DIMM',
1205 xrange(0x15, 0x17): 'Reserved',
1206 0x18: 'DDR3',
1207 0x19: 'FBD2'
1210 if self.length > 0x13:
1212 if self.length > 0x15:
1214 if self.length > 0x17:
1216 if self.length > 0x18:
1218 if self.length > 0x19:
1220 if self.length > 0x1A:
1222 if self.length > 0x1B:
1224 … self.add_field('rank', bitfields.getbits(self.attributes, 3, 0), "attributes[3:0]={}")
1225 if self.length > 0x1C:
1226 if self.size == 0x7FFF:
1228 … self.add_field('mem_size', bitfields.getbits(self.type_detail, 30, 0), "type_detail[30:0]={}")
1231 if self.length > 0x20:
1233 if self.length > 0x22:
1235 if self.length > 0x24:
1237 if self.length > 0x26:
1253 if self.length > 0x4:
1255 0x01: 'Other',
1256 0x02: 'Unknown',
1257 0x03: 'OK',
1258 0x04: 'Bad read',
1259 0x05: 'Parity error',
1260 0x06: 'Single-bit error',
1261 0x07: 'Double-bit error',
1262 0x08: 'Multi-bit error',
1263 0x09: 'Nibble error',
1264 0x0A: 'Checksum error',
1265 0x0B: 'CRC error',
1266 0x0C: 'Corrected single-bit error',
1267 0x0D: 'Corrected error',
1268 0x0E: 'Uncorrectable error'
1271 if self.length > 0x5:
1273 0x01: 'Other',
1274 0x02: 'Unknown',
1275 0x03: 'Device level',
1276 0x04: 'Memory partition level'
1279 if self.length > 0x6:
1281 0x01: 'Other',
1282 0x02: 'Unknown',
1283 0x03: 'Read',
1284 0x04: 'Write',
1285 0x05: 'Partial write'
1288 if self.length > 0x7:
1290 if self.length > 0xB:
1292 if self.length > 0xF:
1294 if self.length > 0x13:
1310 if self.length > 0x4:
1313 if self.length > 0x8:
1315 if self.length > 0xC:
1317 if self.length > 0xE:
1319 if self.length > 0xF:
1321 if self.starting_address == 0xFFFFFFFF:
1323 if self.length > 0x17:
1342 if self.length > 0x4:
1345 if self.length > 0x8:
1347 if self.length > 0xC:
1349 if self.length > 0xE:
1351 if self.length > 0x10:
1353 if self.length > 0x11:
1355 if self.length > 0x12:
1357 if self.length > 0x13:
1359 if self.starting_address == 0xFFFFFFFF:
1361 if self.length > 0x1B:
1379 if self.length > 0x4:
1381 0x01: 'Other',
1382 0x02: 'Unknown',
1383 0x03: 'Mouse',
1384 0x04: 'Track Ball',
1385 0x05: 'Track Point',
1386 0x06: 'Glide Point',
1387 0x07: 'Touch Pad',
1388 0x08: 'Touch Screen',
1389 0x09: 'Optical Sensor'
1392 if self.length > 0x5:
1394 0x01: 'Other',
1395 0x02: 'Unknown',
1396 0x03: 'Serial',
1397 0x04: 'PS/2',
1398 0x05: 'Infared',
1399 0x06: 'HP-HIL',
1400 0x07: 'Bus mouse',
1401 0x08: 'ADB (Apple Desktop Bus)',
1402 0x09: 'Bus mouse DB-9',
1403 0x0A: 'Bus mouse micro-DIN',
1404 0x0B: 'USB'
1407 if self.length > 0x6:
1423 if self.length > 0x4:
1425 if self.length > 0x5:
1427 if self.length > 0x6:
1429 if self.length > 0x7:
1431 if self.length > 0x8:
1433 if self.length > 0x9:
1435 0x01: 'Other',
1436 0x02: 'Unknown',
1437 0x03: 'Lead Acid',
1438 0x04: 'Nickel Cadmium',
1439 0x05: 'Nickel metal hydride',
1440 0x06: 'Lithium-ion',
1441 0x07: 'Zinc air',
1442 0x08: 'Lithium Polymer'
1445 if self.length > 0xA:
1447 if self.length > 0xC:
1449 if self.length > 0xE:
1451 if self.length > 0xF:
1453 if self.length > 0x10:
1454 if self.serial_number == 0:
1458 if self.length > 0x12:
1459 if self.manufacturer_date == 0:
1463 …field('date', bitfields.getbits(self.sbds_manufacture_date, 4, 0), "sbds_manufacture_date[4:0]={}")
1466 if self.length > 0x14:
1467 if self.device_chemistry == 0x02:
1471 if self.length > 0x15:
1473 if self.length > 0x16:
1489 if self.length > 0x4:
1493 0b00: 'Reserved, do not use',
1494 0b01: 'Operating System',
1495 0b10: 'System utilities',
1496 0b11: 'Do not reboot'
1500 …system_reset_enabled_by_user', bool(bitfields.getbits(self.capabilities, 0)), "capabilities[0]={}")
1501 if self.length > 0x5:
1503 if self.length > 0x5:
1505 if self.length > 0x9:
1507 if self.length > 0xB:
1523 if self.length > 0x4:
1526 0x00: 'Disabled',
1527 0x01: 'Enabled',
1528 0x02: 'Not Implemented',
1529 0x03: 'Unknown'
1534 …elds.getbits(self.hardware_security_settings, 1, 0), unpack.format_table("hardware_security_settin…
1549 if self.length > 0x4:
1569 if self.length > 0x4:
1571 if self.length > 0x5:
1574 0b001: 'Other',
1575 0b010: 'Unknown',
1576 0b011: 'OK',
1577 0b100: 'Non-critical',
1578 0b101: 'Critical',
1579 0b110: 'Non-recoverable'
1582 0b00001: 'Other',
1583 0b00010: 'Unknown',
1584 0b00011: 'Processor',
1585 0b00100: 'Disk',
1586 0b00101: 'Peripheral Bay',
1587 0b00110: 'System Management Module',
1588 0b00111: 'Motherboard',
1589 0b01000: 'Memory Module',
1590 0b01001: 'Processor Module',
1591 0b01010: 'Power Unit',
1592 0b01011: 'Add-in Card'
1595 …on', bitfields.getbits(self.location_and_status, 4, 0), unpack.format_table("location_and_status[4…
1596 if self.length > 0x6:
1598 if self.length > 0x8:
1600 if self.length > 0xA:
1602 if self.length > 0xC:
1604 if self.length > 0xE:
1606 if self.length > 0x10:
1608 if self.length > 0x14:
1624 if self.length > 0x4:
1626 if self.length > 0x6:
1629 0b001: 'Other',
1630 0b010: 'Unknown',
1631 0b011: 'OK',
1632 0b100: 'Non-critical',
1633 0b101: 'Critical',
1634 0b110: 'Non-recoverable'
1637 0b00001: 'Other',
1638 0b00010: 'Unknown',
1639 0b00011: 'Fan',
1640 0b00100: 'Centrifugal Blower',
1641 0b00101: 'Chip Fan',
1642 0b00110: 'Cabinet Fan',
1643 0b00111: 'Power Supply Fan',
1644 0b01000: 'Heat Pipe',
1645 0b01001: 'Integrated Refrigeration',
1646 0b10000: 'Active Cooling',
1647 0b10001: 'Passive Cooling'
1650 … bitfields.getbits(self.device_type_and_status, 4, 0), unpack.format_table("device_type_and_status…
1651 if self.length > 0x7:
1653 if self.length > 0x8:
1655 if self.length > 0xC:
1657 if self.length > 0xE:
1673 if self.length > 0x4:
1675 if self.length > 0x5:
1678 0b001: 'Other',
1679 0b010: 'Unknown',
1680 0b011: 'OK',
1681 0b100: 'Non-critical',
1682 0b101: 'Critical',
1683 0b110: 'Non-recoverable'
1686 0b00001: 'Other',
1687 0b00010: 'Unknown',
1688 0b00011: 'Processor',
1689 0b00100: 'Disk',
1690 0b00101: 'Peripheral Bay',
1691 0b00110: 'System Management Module',
1692 0b00111: 'Motherboard',
1693 0b01000: 'Memory Module',
1694 0b01001: 'Processor Module',
1695 0b01010: 'Power Unit',
1696 0b01011: 'Add-in Card',
1697 0b01100: 'Front Panel Board',
1698 0b01101: 'Back Panel Board',
1699 0b01110: 'Power System Board',
1700 0b01111: 'Drive Back Plane'
1703 …on', bitfields.getbits(self.location_and_status, 4, 0), unpack.format_table("location_and_status[4…
1704 if self.length > 0x6:
1706 if self.length > 0x8:
1708 if self.length > 0xA:
1710 if self.length > 0xC:
1712 if self.length > 0xE:
1714 if self.length > 0x10:
1716 if self.length > 0x14:
1732 if self.length > 0x4:
1734 if self.length > 0x5:
1737 0b001: 'Other',
1738 0b010: 'Unknown',
1739 0b011: 'OK',
1740 0b100: 'Non-critical',
1741 0b101: 'Critical',
1742 0b110: 'Non-recoverable'
1745 0b00001: 'Other',
1746 0b00010: 'Unknown',
1747 0b00011: 'Processor',
1748 0b00100: 'Disk',
1749 0b00101: 'Peripheral Bay',
1750 0b00110: 'System Management Module',
1751 0b00111: 'Motherboard',
1752 0b01000: 'Memory Module',
1753 0b01001: 'Processor Module',
1754 0b01010: 'Power Unit',
1755 0b01011: 'Add-in Card',
1756 0b01100: 'Front Panel Board',
1757 0b01101: 'Back Panel Board',
1758 0b01110: 'Power System Board',
1759 0b01111: 'Drive Back Plane'
1762 …on', bitfields.getbits(self.location_and_status, 4, 0), unpack.format_table("location_and_status[4…
1763 if self.length > 0x6:
1765 if self.length > 0x8:
1767 if self.length > 0xA:
1769 if self.length > 0xC:
1771 if self.length > 0xE:
1773 if self.length > 0x10:
1775 if self.length > 0x14:
1791 if self.length > 0x4:
1793 if self.length > 0x5:
1796 …ld('inbound_connection_enabled', bool(bitfields.getbits(self.connections, 0)), "connections[0]={}")
1814 if self.length > 0xA:
1817 0: 'No errors detected',
1845 if self.length > 0x4:
1847 0x01: 'Other',
1848 0x02: 'Unknown',
1849 0x03: 'OK',
1850 0x04: 'Bad read',
1851 0x05: 'Parity error',
1852 0x06: 'Single-bit error',
1853 0x07: 'Double-bit error',
1854 0x08: 'Multi-bit error',
1855 0x09: 'Nibble error',
1856 0x0A: 'Checksum error',
1857 0x0B: 'CRC error',
1858 0x0C: 'Corrected single-bit error',
1859 0x0D: 'Corrected error',
1860 0x0E: 'Uncorrectable error'
1863 if self.length > 0x5:
1865 0x01: 'Other',
1866 0x02: 'Unknown',
1867 0x03: 'Device level',
1868 0x04: 'Memory partition level'
1871 if self.length > 0x6:
1873 0x01: 'Other',
1874 0x02: 'Unknown',
1875 0x03: 'Read',
1876 0x04: 'Write',
1877 0x05: 'Partial write'
1880 if self.length > 0x7:
1882 if self.length > 0xB:
1884 if self.length > 0xF:
1886 if self.length > 0x13:
1902 if self.length > 0x4:
1904 if self.length > 0x5:
1906 0x01: 'Other',
1907 0x02: 'Unknown',
1908 0x03: 'National Semiconductor LM75',
1909 0x04: 'National Semiconductor LM78',
1910 0x05: 'National Semiconductor LM79',
1911 0x06: 'National Semiconductor LM80',
1912 0x07: 'National Semiconductor LM81',
1913 0x08: 'Analog Devices ADM9240',
1914 0x09: 'Dallas Semiconductor DS1780',
1915 0x0A: 'Maxim 1617',
1916 0x0B: 'Genesys GL518SM',
1917 0x0C: 'Winbond W83781D',
1918 0x0D: 'Holtek HT82H791'
1921 if self.length > 0x6:
1923 if self.length > 0xA:
1925 0x01: 'Other',
1926 0x02: 'Unknown',
1927 0x03: 'I/O Port',
1928 0x04: 'Memory',
1929 0x05: 'SM Bus'
1946 if self.length > 0x4:
1948 if self.length > 0x5:
1950 if self.length > 0x7:
1952 if self.length > 0x9:
1968 if self.length > 0x4:
1970 if self.length > 0x6:
1972 if self.length > 0x8:
1974 if self.length > 0xA:
1976 if self.length > 0xC:
1978 if self.length > 0xE:
1994 if self.length > 0x4:
1996 0x01: 'Other',
1997 0x02: 'Unknown',
1998 0x03: 'RamBus',
1999 0x04: 'SyncLink'
2002 if self.length > 0x6:
2004 if self.length > 0x8:
2006 if self.length > 0xA:
2008 if self.length > 0xC:
2025 0x00: 'Unknown',
2026 0x01: 'KCS: Keyboard Controller Style',
2027 0x02: 'SMIC: Server Management Interface Chip',
2028 0x03: 'BT: Block Transfer',
2029 xrange(0x04, 0xFF): 'Reserved'
2034 …', bitfields.getbits(self.ipmi_specification_revision, 3, 0), "ipmi_specification_revision[3:0]={}…
2042 0b00: 'Interface registers are on successive byte boundaries',
2043 0b01: 'Interface registers are on 32-bit boundaries',
2044 0b10: 'Interface registers are on 16-byte boundaries',
2045 0b11: 'Reserved'
2051 0: 'active low',
2056 0: 'edge',
2059 …s(self.base_address_modifier_interrupt_info, 0), unpack.format_table("base_address_modifier_interr…
2075 if self.length > 0x4:
2077 if self.length > 0x5:
2079 if self.length > 0x6:
2081 if self.length > 0x7:
2083 if self.length > 0x8:
2085 if self.length > 0x9:
2087 if self.length > 0xA:
2089 if self.length > 0xB:
2091 if self.length > 0xC:
2093 if self.length > 0xE:
2096 0b001: 'Other',
2097 0b010: 'Unknown',
2098 0b011: 'Linear',
2099 0b100: 'Switching',
2100 0b101: 'Battery',
2101 0b110: 'UPS',
2102 0b111: 'Converter',
2103 0b1000: 'Regulator',
2104 xrange(0b1001, 0b1111): 'Reserved'
2108 0b001: 'Other',
2109 0b010: 'Unknown',
2110 0b011: 'OK',
2111 0b100: 'Non-critical',
2112 0b101: 'Critical; power supply has failed and has been taken off-line'
2116 0b001: 'Other',
2117 0b010: 'Unknown',
2118 0b011: 'Manual',
2119 0b100: 'Auto-switch',
2120 0b101: 'Wide range',
2121 0b110: 'Not applicable',
2122 xrange(0b0111, 0b1111): 'Reserved'
2127 …bool(bitfields.getbits(self.power_supply_characteristics, 0)), "power_supply_characteristics[0]={}…
2128 if self.length > 0x10:
2130 if self.length > 0x12:
2132 if self.length > 0x14:
2148 if self.length > 0x4:
2150 if self.length > 0x5:
2170 if self.length > 0x4:
2172 if self.length > 0x5:
2176 0x01: 'Other',
2177 0x02: 'Unknown',
2178 0x03: 'Video',
2179 0x04: 'SCSI Controller',
2180 0x05: 'Ethernet',
2181 0x06: 'Token Ring',
2182 0x07: 'Sound',
2183 0x08: 'PATA Controller',
2184 0x09: 'SATA Controller',
2185 0x0A: 'SAS Controller'
2187 …type_of_device', bitfields.getbits(self.device_type, 6, 0), unpack.format_table("device_type[6:0]=…
2188 if self.length > 0x6:
2190 if self.length > 0x7:
2192 if self.length > 0x9:
2194 if self.length > 0xA:
2197 …('function_number', bitfields.getbits(self.device_type, 2, 0), "device_and_function_number[2:0]={}…
2212 if self.length > 0x4:
2214 0x00: 'Reserved',
2215 0x01: 'Reserved',
2216 0x02: 'KCS: Keyboard Controller Style',
2217 0x03: '8250 UART Register Compatible',
2218 0x04: '16450 UART Register Compatible',
2219 0x05: '16550/16550A UART Register Compatible',
2220 0x06: '16650/16650A UART Register Compatible',
2221 0x07: '16750/16750A UART Register Compatible',
2222 0x08: '16850/16850A UART Register Compatible',
2223 0xF0: 'OEM'
2226 if self.length > 0x5:
2314 known_types = (0, 1)
2375 …# check: 1. The table anchor string "_SM_" is present in the address range 0xF0000 to 0xFFFFF on a…
2379 if (sm.header.length < 0x1F):
2380 print "Failure: Table entry-point - The entry-point Length must be at least 0x1F"
2381 if sm.header.checksum != 0:
2382 print "Failure: Table entry-point - The entry-point checksum must evaluate to 0"
2387 if (sm.header.intermediate_checksum != 0):
2388 print "Failure: Table entry-point - The Intermediate checksum must evaluate to 0"
2395 required = [0, 1, 4, 7, 9, 16, 17, 19, 31, 32]
2401 if s == 0:
2404 if sm.structure_type(s).length < 0x18:
2405 … print "Failure: Type {} - The structure Length field must be at least 0x18".format(s)
2410 …tructure_type(s).characteristics, 3, 0) != 0 or bitfields.getbits(sm.structure_type(s).characteris…
2411 …print "Failure: Type {} - BIOS Characteristics: bits 3:0 must all be 0, and at least one of bits 3…
2415 if sm.structure_type(s).length < 0x1B:
2416 … print "Failure: Type {} - The structure Length field must be at least 0x1B".format(s)
2423 … if sm.structure_type(s).wakeup_type == 00 and sm.structure_type(s).wakeup_type == 0x02: