Lines Matching refs:buf
83 static void dmi_table(u8 *buf, in dmi_table() argument
87 u8 *data = buf; in dmi_table()
97 (data - buf + sizeof(struct dmi_header)) <= dmi_len) { in dmi_table()
106 while ((data - buf < dmi_len - 1) && (data[0] || data[1])) in dmi_table()
108 if (data - buf < dmi_len - 1) in dmi_table()
132 u8 *buf; in dmi_walk_early() local
134 buf = dmi_early_remap(dmi_base, dmi_len); in dmi_walk_early()
135 if (buf == NULL) in dmi_walk_early()
138 dmi_table(buf, decode, NULL); in dmi_walk_early()
140 add_device_randomness(buf, dmi_len); in dmi_walk_early()
142 dmi_early_unmap(buf, dmi_len); in dmi_walk_early()
146 static int __init dmi_checksum(const u8 *buf, u8 len) in dmi_checksum() argument
152 sum += buf[a]; in dmi_checksum()
432 static int __init print_filtered(char *buf, size_t len, const char *info) in print_filtered() argument
442 c += scnprintf(buf + c, len - c, "%c", *p); in print_filtered()
444 c += scnprintf(buf + c, len - c, "\\x%02x", *p & 0xff); in print_filtered()
448 static void __init dmi_format_ids(char *buf, size_t len) in dmi_format_ids() argument
453 c += print_filtered(buf + c, len - c, in dmi_format_ids()
455 c += scnprintf(buf + c, len - c, " "); in dmi_format_ids()
456 c += print_filtered(buf + c, len - c, in dmi_format_ids()
461 c += scnprintf(buf + c, len - c, "/"); in dmi_format_ids()
462 c += print_filtered(buf + c, len - c, board); in dmi_format_ids()
464 c += scnprintf(buf + c, len - c, ", BIOS "); in dmi_format_ids()
465 c += print_filtered(buf + c, len - c, in dmi_format_ids()
467 c += scnprintf(buf + c, len - c, " "); in dmi_format_ids()
468 c += print_filtered(buf + c, len - c, in dmi_format_ids()
479 static int __init dmi_present(const u8 *buf) in dmi_present() argument
483 if (memcmp(buf, "_SM_", 4) == 0 && in dmi_present()
484 buf[5] < 32 && dmi_checksum(buf, buf[5])) { in dmi_present()
485 smbios_ver = get_unaligned_be16(buf + 6); in dmi_present()
504 buf += 16; in dmi_present()
506 if (memcmp(buf, "_DMI_", 5) == 0 && dmi_checksum(buf, 15)) { in dmi_present()
510 dmi_ver = (buf[14] & 0xF0) << 4 | (buf[14] & 0x0F); in dmi_present()
511 dmi_num = get_unaligned_le16(buf + 12); in dmi_present()
512 dmi_len = get_unaligned_le16(buf + 6); in dmi_present()
513 dmi_base = get_unaligned_le32(buf + 8); in dmi_present()
537 static int __init dmi_smbios3_present(const u8 *buf) in dmi_smbios3_present() argument
539 if (memcmp(buf, "_SM3_", 5) == 0 && in dmi_smbios3_present()
540 buf[6] < 32 && dmi_checksum(buf, buf[6])) { in dmi_smbios3_present()
541 dmi_ver = get_unaligned_be32(buf + 6); in dmi_smbios3_present()
544 dmi_len = get_unaligned_le32(buf + 12); in dmi_smbios3_present()
545 dmi_base = get_unaligned_le64(buf + 16); in dmi_smbios3_present()
562 char buf[32]; in dmi_scan_machine() local
582 memcpy_fromio(buf, p, 32); in dmi_scan_machine()
585 if (!dmi_smbios3_present(buf)) { in dmi_scan_machine()
600 memcpy_fromio(buf, p, 32); in dmi_scan_machine()
603 if (!dmi_present(buf)) { in dmi_scan_machine()
619 memset(buf, 0, 16); in dmi_scan_machine()
621 memcpy_fromio(buf + 16, q, 16); in dmi_scan_machine()
622 if (!dmi_smbios3_present(buf) || !dmi_present(buf)) { in dmi_scan_machine()
627 memcpy(buf, buf + 16, 16); in dmi_scan_machine()
896 u8 *buf; in dmi_walk() local
901 buf = dmi_remap(dmi_base, dmi_len); in dmi_walk()
902 if (buf == NULL) in dmi_walk()
905 dmi_table(buf, decode, private_data); in dmi_walk()
907 dmi_unmap(buf); in dmi_walk()