96 uint16_t smbbb_cv[1]; /* array of contained handles */
97 } smb_bboard_t;
98
99 typedef struct smb_chassis {
100 smb_header_t smbch_hdr; /* structure header */
101 uint8_t smbch_manufacturer; /* manufacturer */
102 uint8_t smbch_type; /* type */
103 uint8_t smbch_version; /* version */
104 uint8_t smbch_serial; /* serial number */
105 uint8_t smbch_asset; /* asset tag */
106 uint8_t smbch_bustate; /* boot-up state */
107 uint8_t smbch_psstate; /* power supply state */
108 uint8_t smbch_thstate; /* thermal state */
109 uint8_t smbch_security; /* security state */
110 uint32_t smbch_oemdata; /* OEM-specific data */
111 uint8_t smbch_uheight; /* enclosure height */
112 uint8_t smbch_cords; /* number of power cords */
113 uint8_t smbch_cn; /* number of contained records */
114 uint8_t smbch_cm; /* size of contained records */
115 uint8_t smbch_cv[1]; /* array of contained records */
116 uint8_t smbch_sku; /* SKU number */
117 } smb_chassis_t;
118
119 #define SMB_CHT_LOCK 0x80 /* lock bit within smbch_type */
120
121 typedef struct smb_processor {
122 smb_header_t smbpr_hdr; /* structure header */
123 uint8_t smbpr_socket; /* socket designation */
124 uint8_t smbpr_type; /* processor type (see <smbios.h>) */
125 uint8_t smbpr_family; /* processor family (see <smbios.h>) */
126 uint8_t smbpr_manufacturer; /* manufacturer */
127 uint64_t smbpr_cpuid; /* processor cpuid information */
128 uint8_t smbpr_version; /* version */
129 uint8_t smbpr_voltage; /* voltage */
130 uint16_t smbpr_clkspeed; /* external clock speed in MHz */
131 uint16_t smbpr_maxspeed; /* maximum speed in MHz */
132 uint16_t smbpr_curspeed; /* current speed in MHz */
133 uint8_t smbpr_status; /* status (see <smbios.h>) */
134 uint8_t smbpr_upgrade; /* upgrade */
135 uint16_t smbpr_l1cache; /* L1 cache handle (if any) */
136 uint16_t smbpr_l2cache; /* L2 cache handle (if any) */
137 uint16_t smbpr_l3cache; /* L3 cache handle (if any) */
138 uint8_t smbpr_serial; /* serial number */
|
96 uint16_t smbbb_cv[1]; /* array of contained handles */
97 } smb_bboard_t;
98
99 typedef struct smb_chassis {
100 smb_header_t smbch_hdr; /* structure header */
101 uint8_t smbch_manufacturer; /* manufacturer */
102 uint8_t smbch_type; /* type */
103 uint8_t smbch_version; /* version */
104 uint8_t smbch_serial; /* serial number */
105 uint8_t smbch_asset; /* asset tag */
106 uint8_t smbch_bustate; /* boot-up state */
107 uint8_t smbch_psstate; /* power supply state */
108 uint8_t smbch_thstate; /* thermal state */
109 uint8_t smbch_security; /* security state */
110 uint32_t smbch_oemdata; /* OEM-specific data */
111 uint8_t smbch_uheight; /* enclosure height */
112 uint8_t smbch_cords; /* number of power cords */
113 uint8_t smbch_cn; /* number of contained records */
114 uint8_t smbch_cm; /* size of contained records */
115 uint8_t smbch_cv[1]; /* array of contained records */
116 } smb_chassis_t;
117
118 /* WARNING: the argument is evaluated three times! */
119 #define SMB_CH_SKU(smbcp) ((char *) \
120 (smbcp)->smbch_cv + ((smbcp)->smbch_cn * (smbcp)->smbch_cm))
121 #define SMB_CHT_LOCK 0x80 /* lock bit within smbch_type */
122
123 typedef struct smb_processor {
124 smb_header_t smbpr_hdr; /* structure header */
125 uint8_t smbpr_socket; /* socket designation */
126 uint8_t smbpr_type; /* processor type (see <smbios.h>) */
127 uint8_t smbpr_family; /* processor family (see <smbios.h>) */
128 uint8_t smbpr_manufacturer; /* manufacturer */
129 uint64_t smbpr_cpuid; /* processor cpuid information */
130 uint8_t smbpr_version; /* version */
131 uint8_t smbpr_voltage; /* voltage */
132 uint16_t smbpr_clkspeed; /* external clock speed in MHz */
133 uint16_t smbpr_maxspeed; /* maximum speed in MHz */
134 uint16_t smbpr_curspeed; /* current speed in MHz */
135 uint8_t smbpr_status; /* status (see <smbios.h>) */
136 uint8_t smbpr_upgrade; /* upgrade */
137 uint16_t smbpr_l1cache; /* L1 cache handle (if any) */
138 uint16_t smbpr_l2cache; /* L2 cache handle (if any) */
139 uint16_t smbpr_l3cache; /* L3 cache handle (if any) */
140 uint8_t smbpr_serial; /* serial number */
|