Browse Source

x86: coreboot: make it possible to process unhandled tags

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>
Christian Gmeiner 5 years ago
parent
commit
b52e9f0cb7
1 changed files with 7 additions and 0 deletions
  1. 7 0
      arch/x86/cpu/coreboot/tables.c

+ 7 - 0
arch/x86/cpu/coreboot/tables.c

@@ -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;