coreboot_tables: reduce redundant data structures

There are three coreboot table tags that all define some kind of memory
region, and each has their own homologous struct. I'm about to add a
fourth so I'll just clean this up and turn it into a generic struct
lb_range instead.

Change-Id: Id148b2737d442e0636d2c05e74efa1fdf844a0d3
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/167154
(cherry picked from commit 22d82ffa3f5500fbc1b785e343add25e61f4f194)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
Reviewed-on: http://review.coreboot.org/6456
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
diff --git a/payloads/libpayload/include/coreboot_tables.h b/payloads/libpayload/include/coreboot_tables.h
index 911157b..5132d50 100644
--- a/payloads/libpayload/include/coreboot_tables.h
+++ b/payloads/libpayload/include/coreboot_tables.h
@@ -184,12 +184,14 @@
 	struct cb_gpio gpios[0];
 };
 
-#define CB_TAG_VDAT	0x0015
-struct cb_vdat {
+#define CB_TAG_VDAT		0x0015
+#define CB_TAG_VBNV		0x0019
+#define CB_TAG_VBOOT_HANDOFF	0x0020
+struct lb_range {
 	uint32_t tag;
-	uint32_t size;	/* size of the entire entry */
-	uint64_t vdat_addr;
-	uint32_t vdat_size;
+	uint32_t size;
+	uint64_t range_start;
+	uint32_t range_size;
 };
 
 #define CB_TAG_TIMESTAMPS	0x0016
@@ -202,22 +204,6 @@
 	uint64_t cbmem_tab;
 };
 
-#define CB_TAG_VBNV		0x0019
-struct cb_vbnv {
-	uint32_t tag;
-	uint32_t size;
-	uint32_t vbnv_start;
-	uint32_t vbnv_size;
-};
-
-#define CB_TAG_VBOOT_HANDOFF	0x0020
-struct cb_vboot_handoff {
-	uint32_t tag;
-	uint32_t size;
-	uint64_t vboot_handoff_addr;
-	uint32_t vboot_handoff_size;
-};
-
 #define CB_TAG_X86_ROM_MTRR	0x0021
 struct cb_x86_rom_mtrr {
 	uint32_t tag;