<p>Julien Viard de Galbert has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/23842">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">smbios: Extend Baseboard (or Module) Information (type2)<br><br>Add more information on basebord as described in SMBIOS Reference<br>Specification 3.1.1<br><br>Change-Id: I9fe1c4fe70c66f8a7fcc75b93672421ae808bf1b<br>Signed-off-by: Julien Viard de Galbert <jviarddegalbert@online.net><br>---<br>M src/arch/x86/smbios.c<br>M src/include/smbios.h<br>2 files changed, 42 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/42/23842/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c</span><br><span>index 9475034..97b7b61 100644</span><br><span>--- a/src/arch/x86/smbios.c</span><br><span>+++ b/src/arch/x86/smbios.c</span><br><span>@@ -359,6 +359,27 @@</span><br><span> {</span><br><span>  /* leave all zero */</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const char *__attribute__((weak)) smbios_mainboard_asset_tag(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    return "";</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+u8 __attribute__((weak)) smbios_mainboard_features_flags(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const char *__attribute__((weak)) smbios_mainboard_location_in_chassis(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       return "";</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+u8 __attribute__((weak)) smbios_mainboard_board_type(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+      return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> #endif</span><br><span> </span><br><span> const char *__attribute__((weak)) smbios_mainboard_sku(void)</span><br><span>@@ -399,7 +420,8 @@</span><br><span>   return len;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static int smbios_write_type2(unsigned long *current, int handle)</span><br><span style="color: hsl(120, 100%, 40%);">+static int smbios_write_type2(unsigned long *current, int handle,</span><br><span style="color: hsl(120, 100%, 40%);">+              int chassis_handle)</span><br><span> {</span><br><span>     struct smbios_type2 *t = (struct smbios_type2 *)*current;</span><br><span>    int len = sizeof(struct smbios_type2);</span><br><span>@@ -415,6 +437,13 @@</span><br><span>        t->serial_number = smbios_add_string(t->eos,</span><br><span>           smbios_mainboard_serial_number());</span><br><span>   t->version = smbios_add_string(t->eos, smbios_mainboard_version());</span><br><span style="color: hsl(120, 100%, 40%);">+     t->asset_tag = smbios_add_string(t->eos,</span><br><span style="color: hsl(120, 100%, 40%);">+                smbios_mainboard_asset_tag());</span><br><span style="color: hsl(120, 100%, 40%);">+        t->features_flags = smbios_mainboard_features_flags();</span><br><span style="color: hsl(120, 100%, 40%);">+     t->location_in_chassis = smbios_add_string(t->eos,</span><br><span style="color: hsl(120, 100%, 40%);">+              smbios_mainboard_location_in_chassis());</span><br><span style="color: hsl(120, 100%, 40%);">+      t->board_type = smbios_mainboard_board_type();</span><br><span style="color: hsl(120, 100%, 40%);">+     t->chassis_handle = chassis_handle;</span><br><span>       len = t->length + smbios_string_table_len(t->eos);</span><br><span>     *current += len;</span><br><span>     return len;</span><br><span>@@ -629,7 +658,8 @@</span><br><span>    update_max(len, max_struct_size, smbios_write_type1(&current,</span><br><span>            handle++));</span><br><span>  update_max(len, max_struct_size, smbios_write_type2(&current,</span><br><span style="color: hsl(0, 100%, 40%);">-               handle++));</span><br><span style="color: hsl(120, 100%, 40%);">+           handle, handle+1)); /* The chassis handle is the next one */</span><br><span style="color: hsl(120, 100%, 40%);">+  handle++;</span><br><span>    update_max(len, max_struct_size, smbios_write_type3(&current,</span><br><span>            handle++));</span><br><span>  update_max(len, max_struct_size, smbios_write_type4(&current,</span><br><span>diff --git a/src/include/smbios.h b/src/include/smbios.h</span><br><span>index fddcce8..10a122b 100644</span><br><span>--- a/src/include/smbios.h</span><br><span>+++ b/src/include/smbios.h</span><br><span>@@ -37,6 +37,11 @@</span><br><span> const char *smbios_mainboard_version(void);</span><br><span> void smbios_mainboard_set_uuid(u8 *uuid);</span><br><span> const char *smbios_mainboard_bios_version(void);</span><br><span style="color: hsl(120, 100%, 40%);">+const char *smbios_mainboard_asset_tag(void);</span><br><span style="color: hsl(120, 100%, 40%);">+u8 smbios_mainboard_features_flags(void);</span><br><span style="color: hsl(120, 100%, 40%);">+const char *smbios_mainboard_location_in_chassis(void);</span><br><span style="color: hsl(120, 100%, 40%);">+u8 smbios_mainboard_board_type(void);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> const char *smbios_mainboard_sku(void);</span><br><span> u8 smbios_mainboard_enclosure_type(void);</span><br><span> #ifdef CONFIG_MAINBOARD_FAMILY</span><br><span>@@ -275,6 +280,11 @@</span><br><span>     u8 product_name;</span><br><span>     u8 version;</span><br><span>  u8 serial_number;</span><br><span style="color: hsl(120, 100%, 40%);">+     u8 asset_tag;</span><br><span style="color: hsl(120, 100%, 40%);">+ u8 features_flags;</span><br><span style="color: hsl(120, 100%, 40%);">+    u8 location_in_chassis;</span><br><span style="color: hsl(120, 100%, 40%);">+       u16 chassis_handle;</span><br><span style="color: hsl(120, 100%, 40%);">+   u8 board_type;</span><br><span>       u8 eos[2];</span><br><span> } __packed;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/23842">change 23842</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/23842"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I9fe1c4fe70c66f8a7fcc75b93672421ae808bf1b </div>
<div style="display:none"> Gerrit-Change-Number: 23842 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Julien Viard de Galbert <jviarddegalbert@online.net> </div>