Lines Matching refs:smbios3
209 void __init dmi_efi_get_table(const void *smbios, const void *smbios3) in dmi_efi_get_table() argument
212 const struct smbios3_eps *eps3 = smbios3; in dmi_efi_get_table()
263 struct smbios3_eps smbios3; in dmi_get_table() member
277 BUILD_BUG_ON(sizeof(eps.smbios3) <= sizeof(eps.dmi)); in dmi_get_table()
279 q > p + 0x10000 - sizeof(eps.smbios3)) in dmi_get_table()
282 sizeof(eps.smbios3) - sizeof(eps.dmi)); in dmi_get_table()
283 if (!memcmp(eps.smbios3.anchor, "_SM3_", 5) && in dmi_get_table()
284 eps.smbios3.length >= sizeof(eps.smbios3) && in dmi_get_table()
285 q <= p + 0x10000 - eps.smbios3.length && in dmi_get_table()
286 dmi_checksum(q, eps.smbios3.length)) { in dmi_get_table()
287 *base = eps.smbios3.address; in dmi_get_table()
288 *len = eps.smbios3.max_size; in dmi_get_table()
341 struct smbios3_eps smbios3; in dmi_iterate() local
345 smbios3.length = 0; in dmi_iterate()
355 if (!smbios3.length && in dmi_iterate()
356 q <= p + 0x10000 - sizeof(smbios3)) { in dmi_iterate()
357 memcpy_fromio(&smbios3, q, sizeof(smbios3)); in dmi_iterate()
358 if (memcmp(smbios3.anchor, "_SM3_", 5) || in dmi_iterate()
359 smbios3.length < sizeof(smbios3) || in dmi_iterate()
360 q < p + 0x10000 - smbios3.length || in dmi_iterate()
361 !dmi_checksum(q, smbios3.length)) in dmi_iterate()
362 smbios3.length = 0; in dmi_iterate()
366 if (smbios3.length) in dmi_iterate()
367 return _dmi_iterate(NULL, &smbios3, decode); in dmi_iterate()
377 while (efi.smbios3 != EFI_INVALID_TABLE_ADDR) { in dmi_efi_iterate()
381 p = bt_ioremap(efi.smbios3, sizeof(eps)); in dmi_efi_iterate()
391 p = bt_ioremap(efi.smbios3, eps.length); in dmi_efi_iterate()