coreboot/src/lib
Vadim Bendebury 274ef4186f vpd: retrieve mac addresses and pass them to bootloader
Chrome OS devices firmware usually includes an area called VPD (Vital
Product Data). VPD is a blob of a certain structure, in particular
containing freely defined variable size fields. A field is a tuple of
the field name and field contents.

MAC addresses of the interfaces are stored in VPD as well. Field names
are in the form of 'ethernet_macN', where N is the zero based
interface number.

This patch retrieves the MAC address(es) from the VPD and populates
them in the coreboot table so that they become available to the
bootloader.

BUG=chrome-os-partner:32152, chromium:417117
TEST=with this and other patches in place the storm device tree shows
     up with MAC addresses properly initialized.

Change-Id: I955207b3a644cde100cc4b48e51a2ab9a3cb1ba0
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Original-Commit-Id: 1972b9e97b
Original-Change-Id: I12c0d15ca84f60e4824e1056c9be2e81a7ad8e73
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/219443
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9207
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2015-04-02 17:27:37 +02:00
..
loaders payload loading: remove passing of struct payload 2015-03-31 19:31:57 +02:00
arch_ops.c program loading: provide one cache maintenance callback 2015-03-31 19:42:08 +02:00
bootmem.c coreboot: introduce notion of bootmem for memory map at boot 2014-03-03 21:47:27 +01:00
bootmode.c ChromeOS: Remove oprom_is_loaded 2014-05-01 15:39:26 +02:00
cbfs.c cbfs: more accurate size check for simple buffer mapping 2015-04-01 22:05:40 +02:00
cbfs_core.c cbfs: expose init_backing_media() 2015-03-24 22:48:51 +01:00
cbfs_core.h lib/cbfs: Use linker symbols over .c include in cbfs.c 2014-11-19 00:13:26 +01:00
cbfs_spi.c cbfs: support concurrent media channels properly 2015-03-26 08:53:39 +01:00
cbmem_common.c coreboot: fix munged license text 2015-03-09 02:32:19 +01:00
cbmem_console.c CBMEM: Support DYNAMIC_CBMEM with LATE_CBMEM_INIT 2015-01-27 22:50:14 +01:00
clog2.c src/lib/clog2.c: Fix style and clarity, remove some cruft 2014-06-20 08:06:51 +02:00
compute_ip_checksum.c lib: Fix spelling 2013-07-10 20:17:51 +02:00
coreboot_table.c vpd: retrieve mac addresses and pass them to bootloader 2015-04-02 17:27:37 +02:00
debug.c misc: Drop print_ implementation from non-romcc boards 2015-01-09 06:12:22 +01:00
delay.c - Major cleanup of the bootpath 2003-07-19 04:28:22 +00:00
dynamic_cbmem.c bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
edid.c drivers/xgi/z9s: Port Linux framebuffer initialization to coreboot 2015-02-05 17:37:05 +01:00
fallback_boot.c lib: Add Kconfig option to enable/disable auto fallback control 2015-03-17 04:22:23 +01:00
gcc.c lib: Trivial - drop trailing blank lines at EOF 2014-07-08 13:52:15 +02:00
gcov-glue.c bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
gcov-io.c Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
gcov-io.h lib: Fix spelling 2013-07-10 20:17:51 +02:00
gcov-iov.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
generic_dump_spd.c misc: Drop print_ implementation from non-romcc boards 2015-01-09 06:12:22 +01:00
generic_sdram.c misc: Drop print_ implementation from non-romcc boards 2015-01-09 06:12:22 +01:00
halt.c Introduce halt() 2014-11-30 12:20:05 +01:00
hardwaremain.c payload loading: remove passing of struct payload 2015-03-31 19:31:57 +02:00
hexdump.c lib/hexdump: Use size_t for length parameter of hexdump32() 2014-05-05 08:59:05 +02:00
jpeg.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
jpeg.h Random cosmetic fixes (trivial). 2010-02-22 16:41:49 +00:00
libgcov.c Fix whitespace leaked into tree 2013-09-17 21:04:35 +02:00
lzma.c Add and consistently use wrapper macro for romstage static variables 2015-03-09 22:42:28 +01:00
lzmadecode.c RISCV: get RISCV to build again 2014-12-04 19:17:51 +01:00
lzmadecode.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
Makefile.inc arm64: Add support for secure monitor 2015-03-28 07:05:09 +01:00
malloc.c lib/malloc.c: Remove pre-proc guard around include 2014-11-11 12:33:01 +01:00
memchr.c Add an implementation for the memchr library function 2012-03-09 20:00:53 +01:00
memcmp.c - Initial checkin of the freebios2 tree 2003-04-22 19:02:15 +00:00
memcpy.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
memmove.c tidy 2004-03-13 03:40:29 +00:00
memrange.c coreboot memrange: Two changes for zero size or empty memrange 2015-03-04 19:55:19 +01:00
memset.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
primitive_memtest.c Primitive memory test 2015-01-09 16:50:55 +01:00
ramstage_cache.c loading: move ramstage cache function declarations 2015-03-31 19:30:07 +02:00
ramtest.c misc: Drop print_ implementation from non-romcc boards 2015-01-09 06:12:22 +01:00
reg_script.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
rmodule.c cbfs: remove cbfs_core.h includes 2015-03-31 23:03:10 +02:00
rmodule.ld bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
selfboot.c program loading: provide one cache maintenance callback 2015-03-31 19:42:08 +02:00
stack.c stack check: cosmetics 2014-09-12 22:03:53 +02:00
thread.c Possible thread stack implementation. 2014-08-07 23:55:15 +02:00
timer_queue.c coreboot: add timer queue implementation 2013-05-01 07:19:12 +02:00
timestamp.c timestamps: Switch from tsc_t to uint64_t 2015-01-05 22:21:49 +01:00
tlcl.c vboot2: read secdata and nvdata 2015-03-23 19:51:47 +01:00
tlcl_internal.h vboot2: read secdata and nvdata 2015-03-23 19:51:47 +01:00
tlcl_structures.h vboot2: copy tlcl from vboot_reference as a preparation for vboot2 integration 2015-01-27 01:43:57 +01:00
tpm_error_messages.h TPM: Fix whitespace 2015-02-06 00:25:59 +01:00
trace.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
tristate_gpios.c fix how to interpret board id read from gpios 2015-03-26 00:26:50 +01:00
version.c build.h: remove variable for the builduser, -hostname and -domain 2015-03-09 17:53:16 +01:00