From d19f1559d008290f87d303b22833f66eaef61e36 Mon Sep 17 00:00:00 2001 From: Olivier Certner Date: Wed, 5 Mar 2025 11:27:50 +0100 Subject: [PATCH] libsa: smbios_detect(): Return the entry point address In particular, this allows the caller to know whether the detection was successful. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49290 (cherry picked from commit 9dad0ba286807c4aa2886f13705fca2334bb4759) --- stand/libsa/smbios.c | 6 ++++-- stand/libsa/smbios.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index c7d9f1074fa..54cfac58b19 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -635,7 +635,7 @@ smbios_probe(const caddr_t addr) } } -void +caddr_t smbios_detect(const caddr_t addr) { char buf[16]; @@ -644,7 +644,7 @@ smbios_detect(const caddr_t addr) smbios_probe(addr); if (smbios.addr == NULL) - return; + return (NULL); for (dmi = smbios.addr, i = 0; dmi != NULL && dmi < smbios.addr + smbios.length && i < smbios.count; i++) @@ -667,6 +667,8 @@ smbios_detect(const caddr_t addr) sprintf(buf, "%u", smbios.populated_sockets); setenv("smbios.socket.populated", buf, 1); } + + return (smbios.addr); } static int diff --git a/stand/libsa/smbios.h b/stand/libsa/smbios.h index 77dd6bd52a7..f3fd394ec7f 100644 --- a/stand/libsa/smbios.h +++ b/stand/libsa/smbios.h @@ -26,7 +26,7 @@ #ifndef _SMBIOS_H_ #define _SMBIOS_H_ -void smbios_detect(const caddr_t); +caddr_t smbios_detect(const caddr_t); int smbios_match(const char *, const char *, const char *); #endif /* _SMBIOS_H_ */