Lines Matching refs:smbios

82 static struct smbios_attr smbios;
305 smbios_setenv("smbios.bios.vendor", addr, 0x04);
306 smbios_setenv("smbios.bios.version", addr, 0x05);
307 smbios_setenv("smbios.bios.reldate", addr, 0x08);
311 smbios_setenv("smbios.system.maker", addr, 0x04);
312 smbios_setenv("smbios.system.product", addr, 0x05);
313 smbios_setenv("smbios.system.version", addr, 0x06);
315 smbios_setenv("smbios.system.serial", addr, 0x07);
316 smbios_setuuid("smbios.system.uuid", addr + 0x08, smbios.ver);
318 if (smbios.major > 2 ||
319 (smbios.major == 2 && smbios.minor >= 4)) {
320 smbios_setenv("smbios.system.sku", addr, 0x19);
321 smbios_setenv("smbios.system.family", addr, 0x1a);
326 smbios_setenv("smbios.planar.maker", addr, 0x04);
327 smbios_setenv("smbios.planar.product", addr, 0x05);
328 smbios_setenv("smbios.planar.version", addr, 0x06);
330 smbios_setenv("smbios.planar.serial", addr, 0x07);
331 smbios_setenv("smbios.planar.tag", addr, 0x08);
333 smbios_setenv("smbios.planar.location", addr, 0x0a);
337 smbios_setenv("smbios.chassis.maker", addr, 0x04);
338 setenv("smbios.chassis.type", smbios_parse_chassis_type(addr), 1);
339 smbios_setenv("smbios.chassis.version", addr, 0x06);
341 smbios_setenv("smbios.chassis.serial", addr, 0x07);
342 smbios_setenv("smbios.chassis.tag", addr, 0x08);
366 smbios.enabled_sockets++;
368 smbios.populated_sockets++;
386 smbios.old_enabled_memory += 1 << (osize + 10);
400 smbios.enabled_memory += (size & 0x8000) != 0 ?
422 if (smbios.addr == NULL)
425 for (dmi = smbios.addr, i = 0;
426 dmi < smbios.addr + smbios.length && i < smbios.count; i++) {
445 if (smbios.probed)
447 smbios.probed = 1;
455 smbios.length = SMBIOS_GET16(saddr, 0x16); /* Structure Table Length */
457 smbios.count = SMBIOS_GET16(saddr, 0x1c); /* No of SMBIOS Structures */
458 smbios.ver = SMBIOS_GET8(saddr, 0x1e); /* SMBIOS BCD Revision */
460 if (smbios.ver != 0) {
461 smbios.major = smbios.ver >> 4;
462 smbios.minor = smbios.ver & 0x0f;
463 if (smbios.major > 9 || smbios.minor > 9)
464 smbios.ver = 0;
466 if (smbios.ver == 0) {
467 smbios.major = SMBIOS_GET8(saddr, 0x06);/* SMBIOS Major Version */
468 smbios.minor = SMBIOS_GET8(saddr, 0x07);/* SMBIOS Minor Version */
470 smbios.ver = (smbios.major << 8) | smbios.minor;
471 smbios.addr = PTOV(paddr);
476 smbios.bios_vendor = smbios_getstring(info, 0x04);
480 smbios.maker = smbios_getstring(info, 0x04);
481 smbios.product = smbios_getstring(info, 0x05);
493 if (smbios.addr == NULL)
496 for (dmi = smbios.addr, i = 0;
497 dmi < smbios.addr + smbios.length && i < smbios.count; i++)
500 sprintf(buf, "%d.%d", smbios.major, smbios.minor);
501 setenv("smbios.version", buf, 1);
502 if (smbios.enabled_memory > 0 || smbios.old_enabled_memory > 0) {
503 sprintf(buf, "%u", smbios.enabled_memory > 0 ?
504 smbios.enabled_memory : smbios.old_enabled_memory);
505 setenv("smbios.memory.enabled", buf, 1);
507 if (smbios.enabled_sockets > 0) {
508 sprintf(buf, "%u", smbios.enabled_sockets);
509 setenv("smbios.socket.enabled", buf, 1);
511 if (smbios.populated_sockets > 0) {
512 sprintf(buf, "%u", smbios.populated_sockets);
513 setenv("smbios.socket.populated", buf, 1);
529 return (smbios_match_str(bios_vendor, smbios.bios_vendor) &&
530 smbios_match_str(maker, smbios.maker) &&
531 smbios_match_str(product, smbios.product));