diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-11-08 10:04:04 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-11-09 16:52:06 +0100 |
commit | 15d2a79a1a50c9321267bfe1a8ee2be8767315a1 (patch) | |
tree | caebb34c8821648ac10ee205dfa1147d0cb5410b | |
parent | 5577a475fcb22671aae2b483a1372b677c016cb9 (diff) |
vendorcode/google: add common smbios mainboard version support
Provide an option to deliver the mainboard smbios version in the
form of 'rev%d' based on the board_id() value.
BUG=chromium:663243
Change-Id: If0a34935f570612da6e0c950fd7e8f0d92b6984f
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/17290
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
-rw-r--r-- | src/vendorcode/google/Kconfig | 8 | ||||
-rw-r--r-- | src/vendorcode/google/Makefile.inc | 2 | ||||
-rw-r--r-- | src/vendorcode/google/smbios.c | 27 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/vendorcode/google/Kconfig b/src/vendorcode/google/Kconfig index f275e6ca35..fcb28dfc97 100644 --- a/src/vendorcode/google/Kconfig +++ b/src/vendorcode/google/Kconfig @@ -13,3 +13,11 @@ ## source src/vendorcode/google/chromeos/Kconfig + +config GOOGLE_SMBIOS_MAINBOARD_VERSION + bool + default n + depends on GENERATE_SMBIOS_TABLES + help + Provide a common implementation for mainboard version, + which returns a formatted 'rev%d' board_id() string. diff --git a/src/vendorcode/google/Makefile.inc b/src/vendorcode/google/Makefile.inc index 6e950a1ebf..60ff84d01e 100644 --- a/src/vendorcode/google/Makefile.inc +++ b/src/vendorcode/google/Makefile.inc @@ -14,3 +14,5 @@ ## subdirs-$(CONFIG_CHROMEOS) += chromeos + +ramstage-$(CONFIG_GOOGLE_SMBIOS_MAINBOARD_VERSION) += smbios.c diff --git a/src/vendorcode/google/smbios.c b/src/vendorcode/google/smbios.c new file mode 100644 index 0000000000..7b147cdfe4 --- /dev/null +++ b/src/vendorcode/google/smbios.c @@ -0,0 +1,27 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2016 Google Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <boardid.h> +#include <smbios.h> +#include <string.h> + +const char *smbios_mainboard_version(void) +{ + static char str[8]; + + snprintf(str, sizeof(str), "rev%d", board_id()); + + return str; +} |