smbios: add a family id in smbios type1 family

mosys will use this field to identify system

BRANCH=none
BUG=chromium:359155
TEST=build ok, use dmidecode to check whether data is
     written correctly

Change-Id: I461215c012b6ad712b3f813a3928e90a23bf54f1
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Original-Commit-Id: 7adbdab761cd7b4bda0a43e7b1c4070de26f150a
Original-Change-Id: Icfbd4c61fc49a9cb3d3ecd2b622339957963150c
Original-Signed-off-by: Kane Chen <kane.chen@intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/217400
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Original-Reviewed-by: Shawn Nematbakhsh <shawnn@chromium.org>
Reviewed-on: http://review.coreboot.org/9230
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Kane Chen 2014-09-08 18:40:30 -07:00 committed by Patrick Georgi
parent 2b59a838b4
commit 51bdc47816
2 changed files with 13 additions and 0 deletions

View File

@ -302,6 +302,13 @@ void __attribute__((weak)) smbios_mainboard_set_uuid(u8 *uuid)
/* leave all zero */ /* leave all zero */
} }
#ifdef CONFIG_MAINBOARD_FAMILY
const char *smbios_mainboard_family(void)
{
return CONFIG_MAINBOARD_FAMILY;
}
#endif /* CONFIG_MAINBOARD_FAMILY */
static int smbios_write_type1(unsigned long *current, int handle) static int smbios_write_type1(unsigned long *current, int handle)
{ {
struct smbios_type1 *t = (struct smbios_type1 *)*current; struct smbios_type1 *t = (struct smbios_type1 *)*current;
@ -334,6 +341,9 @@ static int smbios_write_type2(unsigned long *current, int handle)
t->product_name = smbios_add_string(t->eos, smbios_mainboard_product_name()); t->product_name = smbios_add_string(t->eos, smbios_mainboard_product_name());
t->serial_number = smbios_add_string(t->eos, smbios_mainboard_serial_number()); t->serial_number = smbios_add_string(t->eos, smbios_mainboard_serial_number());
t->version = smbios_add_string(t->eos, smbios_mainboard_version()); t->version = smbios_add_string(t->eos, smbios_mainboard_version());
#ifdef CONFIG_MAINBOARD_FAMILY
t->family = smbios_add_string(t->eos, smbios_mainboard_family());
#endif
len = t->length + smbios_string_table_len(t->eos); len = t->length + smbios_string_table_len(t->eos);
*current += len; *current += len;
return len; return len;

View File

@ -40,6 +40,9 @@ const char *smbios_mainboard_version(void);
void smbios_mainboard_set_uuid(u8 *uuid); void smbios_mainboard_set_uuid(u8 *uuid);
const char *smbios_mainboard_bios_version(void); const char *smbios_mainboard_bios_version(void);
u8 smbios_mainboard_enclosure_type(void); u8 smbios_mainboard_enclosure_type(void);
#ifdef CONFIG_MAINBOARD_FAMILY
const char *smbios_mainboard_family(void);
#endif
#define BIOS_CHARACTERISTICS_PCI_SUPPORTED (1 << 7) #define BIOS_CHARACTERISTICS_PCI_SUPPORTED (1 << 7)
#define BIOS_CHARACTERISTICS_PC_CARD (1 << 8) #define BIOS_CHARACTERISTICS_PC_CARD (1 << 8)