Lines Matching refs:dm
41 static const char * __init dmi_string_nosave(const struct dmi_header *dm, u8 s) in dmi_string_nosave() argument
43 const u8 *bp = ((u8 *) dm) + dm->length; in dmi_string_nosave()
61 static const char * __init dmi_string(const struct dmi_header *dm, u8 s) in dmi_string() argument
63 const char *bp = dmi_string_nosave(dm, s); in dmi_string()
97 const struct dmi_header *dm = (const struct dmi_header *)data; in dmi_decode_table() local
104 data += dm->length; in dmi_decode_table()
108 decode(dm, private_data); in dmi_decode_table()
121 if (!dmi_num && dm->type == DMI_ENTRY_END_OF_TABLE) in dmi_decode_table()
168 static void __init dmi_save_ident(const struct dmi_header *dm, int slot, in dmi_save_ident() argument
171 const char *d = (const char *) dm; in dmi_save_ident()
174 if (dmi_ident[slot] || dm->length <= string) in dmi_save_ident()
177 p = dmi_string(dm, d[string]); in dmi_save_ident()
184 static void __init dmi_save_uuid(const struct dmi_header *dm, int slot, in dmi_save_uuid() argument
191 if (dmi_ident[slot] || dm->length < index + 16) in dmi_save_uuid()
194 d = (u8 *) dm + index; in dmi_save_uuid()
222 static void __init dmi_save_type(const struct dmi_header *dm, int slot, in dmi_save_type() argument
228 if (dmi_ident[slot] || dm->length <= index) in dmi_save_type()
235 d = (u8 *) dm + index; in dmi_save_type()
259 static void __init dmi_save_devices(const struct dmi_header *dm) in dmi_save_devices() argument
261 int i, count = (dm->length - sizeof(struct dmi_header)) / 2; in dmi_save_devices()
264 const char *d = (char *)(dm + 1) + (i * 2); in dmi_save_devices()
270 dmi_save_one_device(*d & 0x7f, dmi_string_nosave(dm, *(d + 1))); in dmi_save_devices()
274 static void __init dmi_save_oem_strings_devices(const struct dmi_header *dm) in dmi_save_oem_strings_devices() argument
279 if (dm->length < 0x05) in dmi_save_oem_strings_devices()
282 count = *(u8 *)(dm + 1); in dmi_save_oem_strings_devices()
284 const char *devname = dmi_string(dm, i); in dmi_save_oem_strings_devices()
301 static void __init dmi_save_ipmi_device(const struct dmi_header *dm) in dmi_save_ipmi_device() argument
306 data = dmi_alloc(dm->length); in dmi_save_ipmi_device()
310 memcpy(data, dm, dm->length); in dmi_save_ipmi_device()
350 static void __init dmi_save_extended_devices(const struct dmi_header *dm) in dmi_save_extended_devices() argument
353 const u8 *d = (u8 *)dm; in dmi_save_extended_devices()
355 if (dm->length < 0x0B) in dmi_save_extended_devices()
362 name = dmi_string_nosave(dm, d[0x4]); in dmi_save_extended_devices()
368 static void __init dmi_save_system_slot(const struct dmi_header *dm) in dmi_save_system_slot() argument
370 const u8 *d = (u8 *)dm; in dmi_save_system_slot()
373 if (dm->length < 0x11) in dmi_save_system_slot()
376 d[0x10], dmi_string_nosave(dm, d[0x4]), in dmi_save_system_slot()
380 static void __init count_mem_devices(const struct dmi_header *dm, void *v) in count_mem_devices() argument
382 if (dm->type != DMI_ENTRY_MEM_DEVICE) in count_mem_devices()
387 static void __init save_mem_devices(const struct dmi_header *dm, void *v) in save_mem_devices() argument
389 const char *d = (const char *)dm; in save_mem_devices()
394 if (dm->type != DMI_ENTRY_MEM_DEVICE || dm->length < 0x12) in save_mem_devices()
400 dmi_memdev[nr].handle = get_unaligned(&dm->handle); in save_mem_devices()
401 dmi_memdev[nr].device = dmi_string(dm, d[0x10]); in save_mem_devices()
402 dmi_memdev[nr].bank = dmi_string(dm, d[0x11]); in save_mem_devices()
411 else if (size != 0x7fff || dm->length < 0x20) in save_mem_devices()
434 static void __init dmi_decode(const struct dmi_header *dm, void *dummy) in dmi_decode() argument
436 switch (dm->type) { in dmi_decode()
438 dmi_save_ident(dm, DMI_BIOS_VENDOR, 4); in dmi_decode()
439 dmi_save_ident(dm, DMI_BIOS_VERSION, 5); in dmi_decode()
440 dmi_save_ident(dm, DMI_BIOS_DATE, 8); in dmi_decode()
443 dmi_save_ident(dm, DMI_SYS_VENDOR, 4); in dmi_decode()
444 dmi_save_ident(dm, DMI_PRODUCT_NAME, 5); in dmi_decode()
445 dmi_save_ident(dm, DMI_PRODUCT_VERSION, 6); in dmi_decode()
446 dmi_save_ident(dm, DMI_PRODUCT_SERIAL, 7); in dmi_decode()
447 dmi_save_uuid(dm, DMI_PRODUCT_UUID, 8); in dmi_decode()
448 dmi_save_ident(dm, DMI_PRODUCT_SKU, 25); in dmi_decode()
449 dmi_save_ident(dm, DMI_PRODUCT_FAMILY, 26); in dmi_decode()
452 dmi_save_ident(dm, DMI_BOARD_VENDOR, 4); in dmi_decode()
453 dmi_save_ident(dm, DMI_BOARD_NAME, 5); in dmi_decode()
454 dmi_save_ident(dm, DMI_BOARD_VERSION, 6); in dmi_decode()
455 dmi_save_ident(dm, DMI_BOARD_SERIAL, 7); in dmi_decode()
456 dmi_save_ident(dm, DMI_BOARD_ASSET_TAG, 8); in dmi_decode()
459 dmi_save_ident(dm, DMI_CHASSIS_VENDOR, 4); in dmi_decode()
460 dmi_save_type(dm, DMI_CHASSIS_TYPE, 5); in dmi_decode()
461 dmi_save_ident(dm, DMI_CHASSIS_VERSION, 6); in dmi_decode()
462 dmi_save_ident(dm, DMI_CHASSIS_SERIAL, 7); in dmi_decode()
463 dmi_save_ident(dm, DMI_CHASSIS_ASSET_TAG, 8); in dmi_decode()
466 dmi_save_system_slot(dm); in dmi_decode()
469 dmi_save_devices(dm); in dmi_decode()
472 dmi_save_oem_strings_devices(dm); in dmi_decode()
475 dmi_save_ipmi_device(dm); in dmi_decode()
478 dmi_save_extended_devices(dm); in dmi_decode()