diff options
author | Aseda Aboagye <aaboagye@google.com> | 2015-05-29 11:33:27 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-07-17 03:17:50 +0000 |
commit | ce063e08297b6578abf6f301f7046302625a781c (patch) | |
tree | 1f3cfa5a87c391c30939cc6e522ea251decec461 /include/config_std_internal_flash.h | |
parent | 0450571a46724c702363d2706142121f9b61e212 (diff) | |
download | chrome-ec-ce063e08297b6578abf6f301f7046302625a781c.tar.gz |
build-infr: Add support for shared RO library.
This commit introduces the build infrastructure changes needed for
creating a shared RO library. (libsharedobjs). The end goal is for the
library to contain various objects that can be shared with both the RO
and RW EC images.
Now, there are 3 make goals: ro, rw, and libsharedobjs.
In order for changes that are only specific to a single image (ie: RW
only) to be applied correctly, the object files are now built separately
for the RO, RW, shared objects library targets.
NOTE: Certain EC targets are incompatible with this model due to the
fact that only one image is present within flash at a time.
BRANCH=none
BUG=None
TEST=make -j buildall tests
TEST=make -j BOARD=cr50 xrefs
TEST=make BOARD=samus dis
TEST=Built samus EC image and compared that the final EC image was
identical to the upstream version (except for the git SHAs & version
strings).
CQ-DEPEND=CL:285934
Change-Id: I8e67f089710be9c6d7017718109262394bdad2f5
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/274079
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'include/config_std_internal_flash.h')
-rw-r--r-- | include/config_std_internal_flash.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/config_std_internal_flash.h b/include/config_std_internal_flash.h index c0df3d4199..d918e8a813 100644 --- a/include/config_std_internal_flash.h +++ b/include/config_std_internal_flash.h @@ -22,14 +22,27 @@ #define CONFIG_FW_PSTATE_OFF (CONFIG_FW_IMAGE_SIZE - CONFIG_FW_PSTATE_SIZE) /* Size of one firmware image in flash */ -#define CONFIG_FW_IMAGE_SIZE (CONFIG_FLASH_PHYSICAL_SIZE / 2) +#define CONFIG_FW_IMAGE_SIZE ((CONFIG_FLASH_PHYSICAL_SIZE - \ + CONFIG_SHAREDLIB_SIZE) / 2) #define CONFIG_FLASH_SIZE CONFIG_FLASH_PHYSICAL_SIZE +/* + * By default, there is no shared objects library. However, if configured, the + * shared objects library will be placed after the RO image. + */ +#define CONFIG_SHAREDLIB_MEM_OFF (CONFIG_RO_MEM_OFF + \ + CONFIG_FW_IMAGE_SIZE) +#define CONFIG_SHAREDLIB_STORAGE_OFF (CONFIG_RO_STORAGE_OFF + \ + CONFIG_FW_IMAGE_SIZE) +#define CONFIG_SHAREDLIB_SIZE 0 + #define CONFIG_RO_MEM_OFF 0 #define CONFIG_RO_STORAGE_OFF 0 #define CONFIG_RO_SIZE (CONFIG_FW_IMAGE_SIZE - CONFIG_FW_PSTATE_SIZE) -#define CONFIG_RW_MEM_OFF CONFIG_FW_IMAGE_SIZE -#define CONFIG_RW_STORAGE_OFF CONFIG_FW_IMAGE_SIZE +#define CONFIG_RW_MEM_OFF (CONFIG_SHAREDLIB_MEM_OFF + \ + CONFIG_SHAREDLIB_SIZE) +#define CONFIG_RW_STORAGE_OFF (CONFIG_SHAREDLIB_STORAGE_OFF + \ + CONFIG_SHAREDLIB_SIZE) #define CONFIG_RW_SIZE CONFIG_FW_IMAGE_SIZE #define CONFIG_WP_OFF CONFIG_RO_STORAGE_OFF |