diff options
author | Andrey Pronin <apronin@chromium.org> | 2019-06-26 16:36:40 -0700 |
---|---|---|
committer | Vadim Bendebury <vbendeb@chromium.org> | 2019-09-21 19:11:26 -0700 |
commit | 7b200ccaccaffd203155e2b42f6de88d45c4bd56 (patch) | |
tree | 02ee3e17ab598ef92aee8ec662d59d3d14e0ea8b | |
parent | 9a58349f42390623166f516496a939c65c31f8c6 (diff) | |
download | chrome-ec-7b200ccaccaffd203155e2b42f6de88d45c4bd56.tar.gz |
cr50: minimize static declarations in virtual_nvmem.c
This is a cosmetic CL that moves index_config[] to the end of
virtual_nvmem.c file to minimize the number of declarations for static
functions set as handlers in it.
Trades 3 current handler for oen forward declaration of
GetNvIndexConfig.
BRANCH=none
BUG=none
TEST=build and boot
Change-Id: I8d9aa251f1982e200c4f96b4ddd2a60b4751d49a
Signed-off-by: Andrey Pronin <apronin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1679596
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
(cherry picked from commit c4408e189736b45f275adfd3eb388fde3f457f62)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1684237
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Queue: Vadim Bendebury <vbendeb@chromium.org>
(cherry picked from commit 41584d2d371a2e94cce5b1fa534ab6fcfda1ca86)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1705746
(cherry picked from commit f64b4548048409ea5a82a1a004facfe08d60f61b)
-rw-r--r-- | board/cr50/tpm2/virtual_nvmem.c | 97 |
1 files changed, 47 insertions, 50 deletions
diff --git a/board/cr50/tpm2/virtual_nvmem.c b/board/cr50/tpm2/virtual_nvmem.c index 58db3a8cf9..ef2bf62300 100644 --- a/board/cr50/tpm2/virtual_nvmem.c +++ b/board/cr50/tpm2/virtual_nvmem.c @@ -138,47 +138,6 @@ const char kRsuSalt[] = "Wu8oGt0uu0H8uSGxfo75uSDrGcRk2BXh"; BUILD_ASSERT(ARRAY_SIZE(kRsuSalt) == RSU_SALT_SIZE+1); /* - * Registration of current virtual indexes. - * - * Indexes are declared in the virtual_nv_index enum in the header. - * - * Active entries of this enum must have a size and data function registered - * with a REGISTER_CONFIG statement below. - * - * Deprecated indices should use the REGISTER_DEPRECATED_CONFIG variant. - */ - -static void GetBoardId(BYTE *to, size_t offset, size_t size); -static void GetSnData(BYTE *to, size_t offset, size_t size); -static void GetG2fCert(BYTE *to, size_t offset, size_t size); -static void GetRSUDevID(BYTE *to, size_t offset, size_t size); - -static const struct virtual_nv_index_cfg index_config[] = { - REGISTER_CONFIG(VIRTUAL_NV_INDEX_BOARD_ID, - VIRTUAL_NV_INDEX_BOARD_ID_SIZE, - GetBoardId) - REGISTER_CONFIG(VIRTUAL_NV_INDEX_SN_DATA, - VIRTUAL_NV_INDEX_SN_DATA_SIZE, - GetSnData) - REGISTER_CONFIG(VIRTUAL_NV_INDEX_G2F_CERT, - VIRTUAL_NV_INDEX_G2F_CERT_SIZE, - GetG2fCert) - REGISTER_CONFIG(VIRTUAL_NV_INDEX_RSU_DEV_ID, - VIRTUAL_NV_INDEX_RSU_DEV_ID_SIZE, - GetRSUDevID) -}; - -/* Check sanity of above config. */ -BUILD_ASSERT(VIRTUAL_NV_INDEX_END <= (VIRTUAL_NV_INDEX_MAX + 1)); -BUILD_ASSERT((VIRTUAL_NV_INDEX_END - VIRTUAL_NV_INDEX_START) == - ARRAY_SIZE(index_config)); -/* Check we will never overrun the virtual address space. */ -BUILD_ASSERT((VIRTUAL_NV_INDEX_MAX - VIRTUAL_NV_INDEX_START + 1) * - MAX_VIRTUAL_NV_INDEX_SLOT_SIZE < - (VIRTUAL_NV_OFFSET_END - VIRTUAL_NV_OFFSET_START)); - - -/* * Helpers for dealing with NV indexes, associated configs and offsets. */ @@ -187,15 +146,7 @@ BUILD_ASSERT((VIRTUAL_NV_INDEX_MAX - VIRTUAL_NV_INDEX_START + 1) * * 'empty' config if the index is not defined. */ static inline void GetNvIndexConfig( - enum virtual_nv_index index, struct virtual_nv_index_cfg *cfg) -{ - if (index >= VIRTUAL_NV_INDEX_START && index < VIRTUAL_NV_INDEX_END) { - *cfg = index_config[index - VIRTUAL_NV_INDEX_START]; - } else { - cfg->size = 0; - cfg->get_data_fn = 0; - } -} + enum virtual_nv_index index, struct virtual_nv_index_cfg *cfg); /* Converts a virtual NV index to the corresponding virtual offset. */ static inline BOOL NvIndexToNvOffset(uint32_t index) @@ -363,3 +314,49 @@ static void GetRSUDevID(BYTE *to, size_t offset, size_t size) memcpy(to, rsu_device_id + offset, size); } BUILD_ASSERT(VIRTUAL_NV_INDEX_RSU_DEV_ID_SIZE == SHA256_DIGEST_SIZE); + +/* + * Registration of current virtual indexes. + * + * Indexes are declared in the virtual_nv_index enum in the header. + * + * Active entries of this enum must have a size and data function registered + * with a REGISTER_CONFIG statement below. + * + * Deprecated indices should use the REGISTER_DEPRECATED_CONFIG variant. + */ + +static const struct virtual_nv_index_cfg index_config[] = { + REGISTER_CONFIG(VIRTUAL_NV_INDEX_BOARD_ID, + VIRTUAL_NV_INDEX_BOARD_ID_SIZE, + GetBoardId) + REGISTER_CONFIG(VIRTUAL_NV_INDEX_SN_DATA, + VIRTUAL_NV_INDEX_SN_DATA_SIZE, + GetSnData) + REGISTER_CONFIG(VIRTUAL_NV_INDEX_G2F_CERT, + VIRTUAL_NV_INDEX_G2F_CERT_SIZE, + GetG2fCert) + REGISTER_CONFIG(VIRTUAL_NV_INDEX_RSU_DEV_ID, + VIRTUAL_NV_INDEX_RSU_DEV_ID_SIZE, + GetRSUDevID) +}; + +/* Check sanity of above config. */ +BUILD_ASSERT(VIRTUAL_NV_INDEX_END <= (VIRTUAL_NV_INDEX_MAX + 1)); +BUILD_ASSERT((VIRTUAL_NV_INDEX_END - VIRTUAL_NV_INDEX_START) == + ARRAY_SIZE(index_config)); +/* Check we will never overrun the virtual address space. */ +BUILD_ASSERT((VIRTUAL_NV_INDEX_MAX - VIRTUAL_NV_INDEX_START + 1) * + MAX_VIRTUAL_NV_INDEX_SLOT_SIZE < + (VIRTUAL_NV_OFFSET_END - VIRTUAL_NV_OFFSET_START)); + +static inline void GetNvIndexConfig( + enum virtual_nv_index index, struct virtual_nv_index_cfg *cfg) +{ + if (index >= VIRTUAL_NV_INDEX_START && index < VIRTUAL_NV_INDEX_END) { + *cfg = index_config[index - VIRTUAL_NV_INDEX_START]; + } else { + cfg->size = 0; + cfg->get_data_fn = 0; + } +} |