/* SPDX-License-Identifier: GPL-2.0-only */ #include #include #include #include #define MAX_SERIAL_LENGTH 0x100 const char *smbios_mainboard_serial_number(void) { static char serial_number[MAX_SERIAL_LENGTH + 1] = {0}; if (serial_number[0] != 0) return serial_number; size_t serial_len = cbfs_load("serial_number", serial_number, MAX_SERIAL_LENGTH); if (serial_len) { serial_number[serial_len] = '\0'; return serial_number; } strncpy(serial_number, CONFIG_MAINBOARD_SERIAL_NUMBER, MAX_SERIAL_LENGTH); return serial_number; }