fmaptool: Introduce the fmd ("flashmap descriptor") language and compiler
This adds a compiler for a language whose textual representation of flashmap regions will be used to describe the layout of flash chips that contain more than just a single CBFS. Direct integration with cbfstool (via a new command-line switch for the create action) is forthcoming but will be added separately. BUG=chromium:461875 TEST=Use Chromium OS's cros_bundle_firmware script on the fmap.dts file for panther. Using the latter file as a reference, write a corresponding fmap.fmd file and feed it through fmaptool. Run both binary output files though the flashmap project's own flashmap_decode utility. Observe only the expected differences. BRANCH=None Change-Id: I06b32d138dbef0a4e5ed43c81bd31c796fd5d669 Signed-off-by: Sol Boucher <solb@chromium.org> Original-Commit-Id: 005ab67eb594e21489cf31036aedaea87e0c7142 Original-Change-Id: Ia08f28688efdbbfc70c255916b8eb7eb0eb07fb2 Original-Signed-off-by: Sol Boucher <solb@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/255031 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-on: http://review.coreboot.org/9942 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
committed by
Patrick Georgi
parent
5f7e4f019e
commit
69b88bf127
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010, Google Inc.
|
||||
* Copyright 2015, Google Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -96,24 +96,6 @@ extern long int fmap_find(const uint8_t *image, unsigned int len);
|
||||
*/
|
||||
extern int fmap_print(const struct fmap *map);
|
||||
|
||||
/*
|
||||
* fmap_get_csum - get the checksum of static regions of an image
|
||||
*
|
||||
* @image: image to checksum
|
||||
* @len: length of image
|
||||
* @digest: double-pointer to store location of first byte of digest
|
||||
*
|
||||
* fmap_get_csum() will reset, write, and finalize the digest.
|
||||
* The location of the final digest will start at the location pointed to
|
||||
* by digest, which will be allocated and must be freed by the caller.
|
||||
*
|
||||
* returns digest length if successful
|
||||
* returns <0 to indicate error
|
||||
*/
|
||||
extern int fmap_get_csum(const uint8_t *image,
|
||||
unsigned int image_len, uint8_t **digest);
|
||||
|
||||
|
||||
/*
|
||||
* fmap_flags_to_string - convert raw flags field into user-friendly string
|
||||
*
|
||||
@@ -157,7 +139,7 @@ extern void fmap_destroy(struct fmap *fmap);
|
||||
* returns size of fmap structure if successful
|
||||
* returns <0 to indicate failure
|
||||
*/
|
||||
extern int fmap_size(struct fmap *fmap);
|
||||
extern int fmap_size(const struct fmap *fmap);
|
||||
|
||||
/*
|
||||
* fmap_append_area - realloc an existing flashmap and append an area
|
||||
@@ -187,6 +169,6 @@ extern int fmap_append_area(struct fmap **fmap,
|
||||
extern struct fmap_area *fmap_find_area(struct fmap *fmap, const char *name);
|
||||
|
||||
/* unit testing stuff */
|
||||
extern int fmap_test();
|
||||
extern int fmap_test(void);
|
||||
|
||||
#endif /* FLASHMAP_LIB_FMAP_H__*/
|
||||
|
Reference in New Issue
Block a user