Put correct RO_FRID, RW_FWID_A, RW_FWID_B entries in FMAP

BUG=chrome-os-partner:9495
TEST=manual

Build image, run dump_fmap. Look for those entries.

Change-Id: I6dfc38e00ce1e11ea24c8392d1691fab32a59d1f
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/24696
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Bill Richardson
2012-06-07 00:27:28 -07:00
committed by Gerrit
parent c7f2e0246e
commit 12eecc012b
3 changed files with 16 additions and 6 deletions

View File

@@ -4,8 +4,10 @@
* found in the LICENSE file.
*/
#include <stddef.h>
#include <stdint.h>
#include "config.h"
#include "version.h"
/* FMAP structs. See http://code.google.com/p/flashmap/wiki/FmapSpec */
#define FMAP_NAMELEN 32
@@ -68,8 +70,10 @@ const struct _ec_fmap {
},
{
.area_name = "RO_FRID", /* FIXME: Where is it? */
.area_offset = CONFIG_FW_RO_OFF,
.area_size = 0,
.area_offset = CONFIG_FW_RO_OFF +
(uint32_t)__version_struct_offset +
offsetof(struct version_struct, version),
.area_size = sizeof(version_data.version),
.area_flags = FMAP_AREA_STATIC | FMAP_AREA_RO,
},
@@ -133,8 +137,10 @@ const struct _ec_fmap {
},
{
.area_name = "RW_FWID_A", /* FIXME: Where is it? */
.area_offset = CONFIG_FW_A_OFF,
.area_size = 0,
.area_offset = CONFIG_FW_A_OFF +
(uint32_t)__version_struct_offset +
offsetof(struct version_struct, version),
.area_size = sizeof(version_data.version),
.area_flags = FMAP_AREA_STATIC,
},
{
@@ -160,8 +166,10 @@ const struct _ec_fmap {
},
{
.area_name = "RW_FWID_B", /* FIXME: Where is it? */
.area_offset = CONFIG_FW_B_OFF,
.area_size = 0,
.area_offset = CONFIG_FW_B_OFF +
(uint32_t)__version_struct_offset +
offsetof(struct version_struct, version),
.area_size = sizeof(version_data.version),
.area_flags = FMAP_AREA_STATIC,
},
{

View File

@@ -24,6 +24,7 @@ SECTIONS
.text : {
OUTDIR/core/CORE/init.o (.text.vecttable)
. = ALIGN(4);
__version_struct_offset = .;
*(.rodata.ver)
. = ALIGN(4);
OUTDIR/core/CORE/init.o (.text)

View File

@@ -25,5 +25,6 @@ struct version_struct {
extern const struct version_struct version_data;
extern const char build_info[];
extern const char __version_struct_offset[];
#endif /* __CROS_EC_VERSION_H */