x86: coreboot: make it possible to process unhandled tags
authorChristian Gmeiner <christian.gmeiner@gmail.com>
Wed, 17 Apr 2019 12:42:05 +0000 (14:42 +0200)
committerBin Meng <bmeng.cn@gmail.com>
Sun, 19 May 2019 08:17:33 +0000 (16:17 +0800)
coreboot makes it possible to add own entries into coreboot's
table at a per mainboard basis. As there might be some custom
ones it makes sense to provide a way to process them.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/cpu/coreboot/tables.c

index bc18b71..37e0424 100644 (file)
@@ -109,6 +109,10 @@ static void cb_parse_string(unsigned char *ptr, char **info)
        *info = (char *)((struct cb_string *)ptr)->string;
 }
 
+__weak void cb_parse_unhandled(u32 tag, unsigned char *ptr)
+{
+}
+
 static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
 {
        struct cb_header *header;
@@ -211,6 +215,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info)
                case CB_TAG_VBNV:
                        cb_parse_vbnv(ptr, info);
                        break;
+               default:
+                       cb_parse_unhandled(rec->tag, ptr);
+                       break;
                }
 
                ptr += rec->size;