aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/smbios/smbios.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/smbios/smbios.c b/sys/dev/smbios/smbios.c
index bbfe80a6a8a6..f4a6453fd043 100644
--- a/sys/dev/smbios/smbios.c
+++ b/sys/dev/smbios/smbios.c
@@ -102,9 +102,15 @@ smbios_identify (driver_t *driver, device_t parent)
#endif
#if defined(__amd64__) || defined(__i386__)
- if (addr == 0)
- addr = bios_sigsearch(SMBIOS_START, SMBIOS_SIG, SMBIOS_LEN,
+ if (addr == 0) {
+ addr = bios_sigsearch(SMBIOS_START, SMBIOS3_SIG, SMBIOS3_LEN,
SMBIOS_STEP, SMBIOS_OFF);
+ if (addr != 0)
+ map_size = sizeof(*eps3);
+ else
+ addr = bios_sigsearch(SMBIOS_START,
+ SMBIOS_SIG, SMBIOS_LEN, SMBIOS_STEP, SMBIOS_OFF);
+ }
#endif
if (addr != 0) {