Lines Matching refs:buf

89 static void dmi_decode_table(u8 *buf,  in dmi_decode_table()  argument
93 u8 *data = buf; in dmi_decode_table()
103 (data - buf + sizeof(struct dmi_header)) <= dmi_len) { in dmi_decode_table()
112 while ((data - buf < dmi_len - 1) && (data[0] || data[1])) in dmi_decode_table()
114 if (data - buf < dmi_len - 1) in dmi_decode_table()
133 if (dmi_len > data - buf) in dmi_decode_table()
134 dmi_len = data - buf; in dmi_decode_table()
142 u8 *buf; in dmi_walk_early() local
145 buf = dmi_early_remap(dmi_base, orig_dmi_len); in dmi_walk_early()
146 if (buf == NULL) in dmi_walk_early()
149 dmi_decode_table(buf, decode, NULL); in dmi_walk_early()
151 add_device_randomness(buf, dmi_len); in dmi_walk_early()
153 dmi_early_unmap(buf, orig_dmi_len); in dmi_walk_early()
157 static int __init dmi_checksum(const u8 *buf, u8 len) in dmi_checksum() argument
163 sum += buf[a]; in dmi_checksum()
443 static int __init print_filtered(char *buf, size_t len, const char *info) in print_filtered() argument
453 c += scnprintf(buf + c, len - c, "%c", *p); in print_filtered()
455 c += scnprintf(buf + c, len - c, "\\x%02x", *p & 0xff); in print_filtered()
459 static void __init dmi_format_ids(char *buf, size_t len) in dmi_format_ids() argument
464 c += print_filtered(buf + c, len - c, in dmi_format_ids()
466 c += scnprintf(buf + c, len - c, " "); in dmi_format_ids()
467 c += print_filtered(buf + c, len - c, in dmi_format_ids()
472 c += scnprintf(buf + c, len - c, "/"); in dmi_format_ids()
473 c += print_filtered(buf + c, len - c, board); in dmi_format_ids()
475 c += scnprintf(buf + c, len - c, ", BIOS "); in dmi_format_ids()
476 c += print_filtered(buf + c, len - c, in dmi_format_ids()
478 c += scnprintf(buf + c, len - c, " "); in dmi_format_ids()
479 c += print_filtered(buf + c, len - c, in dmi_format_ids()
490 static int __init dmi_present(const u8 *buf) in dmi_present() argument
494 if (memcmp(buf, "_SM_", 4) == 0 && in dmi_present()
495 buf[5] < 32 && dmi_checksum(buf, buf[5])) { in dmi_present()
496 smbios_ver = get_unaligned_be16(buf + 6); in dmi_present()
497 smbios_entry_point_size = buf[5]; in dmi_present()
498 memcpy(smbios_entry_point, buf, smbios_entry_point_size); in dmi_present()
517 buf += 16; in dmi_present()
519 if (memcmp(buf, "_DMI_", 5) == 0 && dmi_checksum(buf, 15)) { in dmi_present()
523 dmi_ver = (buf[14] & 0xF0) << 4 | (buf[14] & 0x0F); in dmi_present()
525 dmi_num = get_unaligned_le16(buf + 12); in dmi_present()
526 dmi_len = get_unaligned_le16(buf + 6); in dmi_present()
527 dmi_base = get_unaligned_le32(buf + 8); in dmi_present()
535 memcpy(smbios_entry_point, buf, in dmi_present()
553 static int __init dmi_smbios3_present(const u8 *buf) in dmi_smbios3_present() argument
555 if (memcmp(buf, "_SM3_", 5) == 0 && in dmi_smbios3_present()
556 buf[6] < 32 && dmi_checksum(buf, buf[6])) { in dmi_smbios3_present()
557 dmi_ver = get_unaligned_be32(buf + 6) & 0xFFFFFF; in dmi_smbios3_present()
559 dmi_len = get_unaligned_le32(buf + 12); in dmi_smbios3_present()
560 dmi_base = get_unaligned_le64(buf + 16); in dmi_smbios3_present()
561 smbios_entry_point_size = buf[6]; in dmi_smbios3_present()
562 memcpy(smbios_entry_point, buf, smbios_entry_point_size); in dmi_smbios3_present()
579 char buf[32]; in dmi_scan_machine() local
599 memcpy_fromio(buf, p, 32); in dmi_scan_machine()
602 if (!dmi_smbios3_present(buf)) { in dmi_scan_machine()
617 memcpy_fromio(buf, p, 32); in dmi_scan_machine()
620 if (!dmi_present(buf)) { in dmi_scan_machine()
636 memset(buf, 0, 16); in dmi_scan_machine()
638 memcpy_fromio(buf + 16, q, 16); in dmi_scan_machine()
639 if (!dmi_smbios3_present(buf) || !dmi_present(buf)) { in dmi_scan_machine()
644 memcpy(buf, buf + 16, 16); in dmi_scan_machine()
655 struct bin_attribute *attr, char *buf, in raw_table_read() argument
658 memcpy(buf, attr->private + pos, count); in raw_table_read()
978 u8 *buf; in dmi_walk() local
983 buf = dmi_remap(dmi_base, dmi_len); in dmi_walk()
984 if (buf == NULL) in dmi_walk()
987 dmi_decode_table(buf, decode, private_data); in dmi_walk()
989 dmi_unmap(buf); in dmi_walk()