summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Pronin <apronin@chromium.org>2019-06-26 16:36:40 -0700
committerVadim Bendebury <vbendeb@chromium.org>2019-09-21 19:11:26 -0700
commit7b200ccaccaffd203155e2b42f6de88d45c4bd56 (patch)
tree02ee3e17ab598ef92aee8ec662d59d3d14e0ea8b
parent9a58349f42390623166f516496a939c65c31f8c6 (diff)
downloadchrome-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.c97
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;
+ }
+}