SMBIOS: Add smbios_write_type11() for creating an OEM Strings structure

Change-Id: Id338968429435bac26595c4843b07cdbb91dd64d
Signed-off-by: Peter Stuge <peter@stuge.se>
Reviewed-on: http://review.coreboot.org/3618
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Peter Stuge
2013-07-06 19:51:12 +02:00
committed by Ronald G. Minnich
parent 4e7385b58f
commit c392b6477f
2 changed files with 28 additions and 0 deletions

View File

@@ -256,6 +256,24 @@ static int smbios_write_type4(unsigned long *current, int handle)
return len;
}
int smbios_write_type11(unsigned long *current, int handle, const char **oem_strings, int count)
{
struct smbios_type11 *t = (struct smbios_type11 *)*current;
int i, len;
memset(t, 0, sizeof *t);
t->type = SMBIOS_OEM_STRINGS;
t->handle = handle;
t->length = len = sizeof *t - 2;
for (i = 0; i < count; i++)
t->count = smbios_add_string(t->eos, oem_strings[i]);
len += smbios_string_table_len(t->eos);
*current += len;
return len;
}
static int smbios_write_type32(unsigned long *current, int handle)
{
struct smbios_type32 *t = (struct smbios_type32 *)*current;