p->status = 0x41; /* socket populated, CPU enabled */
p->upgrade = 0x01; /* other */
+ p->l1_cache_handle = 0xffff; /* No cache information structure provided. */
+ p->l2_cache_handle = 0xffff; /* No cache information structure provided. */
+ p->l3_cache_handle = 0xffff; /* No cache information structure provided. */
start += sizeof(struct smbios_type_4);
uint8_t serial_number_str;
} __attribute__ ((packed));
+/* System Enclosure - Contained Elements */
+struct smbios_contained_element {
+ uint8_t type;
+ uint8_t minimum;
+ uint8_t maximum;
+} __attribute__ ((packed));
+
/* SMBIOS type 3 - System Enclosure */
struct smbios_type_3 {
struct smbios_structure_header header;
uint8_t power_supply_state;
uint8_t thermal_state;
uint8_t security_status;
+ uint32_t oem_specific;
+ uint8_t height;
+ uint8_t number_of_power_cords;
+ uint8_t contained_element_count;
+ uint8_t contained_element_length;
+ struct smbios_contained_element contained_elements[];
} __attribute__ ((packed));
/* SMBIOS type 4 - Processor Information */
uint16_t current_speed;
uint8_t status;
uint8_t upgrade;
+ uint16_t l1_cache_handle;
+ uint16_t l2_cache_handle;
+ uint16_t l3_cache_handle;
+ uint8_t serial_number_str;
+ uint8_t asset_tag_str;
+ uint8_t part_number_str;
} __attribute__ ((packed));
/* SMBIOS type 11 - OEM Strings */
uint8_t bank_locator_str;
uint8_t memory_type;
uint16_t type_detail;
+ uint16_t speed;
+ uint8_t manufacturer_str;
+ uint8_t serial_number_str;
+ uint8_t asset_tag_str;
+ uint8_t part_number_str;
} __attribute__ ((packed));
/* SMBIOS type 19 - Memory Array Mapped Address */