Date: Thu, 30 Jan 2025 10:12:46 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 284460] smbios driver does not discover the 64-bit table on BIOS boot Message-ID: <bug-284460-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D284460 Bug ID: 284460 Summary: smbios driver does not discover the 64-bit table on BIOS boot Product: Base System Version: CURRENT Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: andreas.rogge@bareos.com I noticed that when running FreeBSD on the Hetzner Cloud since January 16th SMBIOS information is not available via kenv. As the cloud-init provider for Hetzner relies on smbios.system.maker and smbios.system.serial being available, this also breaks cloud-init. Investigating further, I noticed they provide a 64-bit SMBIOS table without providing a 32-bit compatibility table. While the standard strongly suggest= s to provide a 32-bit table, it is not required. The smbios driver can already handle the 64-bit table when being booted via UEFI, but these cloud machines are BIOS booted and the driver currently sim= ply does not look for the 64-bit table. It does a bios_sigsearch() for "_SM_" (the 32-bit table), but does not try "_SM3_" (the 64-bit table) if that fails. Basically, adding the following after sys/dev/smbios/smbios.c:107 should fix the problem: --- CUT HERE --- if (addr =3D=3D 0) { map_size =3D sizeof (*eps3); addr =3D bios_sigsearch(SMBIOS_START, SMBIOS3_SIG, SMBIOS3_LEN, SMBIOS_STEP, SMBIOS_OFF); } --- CUT HERE --- However, I haven't tested this yet. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-284460-227>