diff options
-rw-r--r-- | board/falco/board.h | 1 | ||||
-rw-r--r-- | board/falco/ec.tasklist | 1 | ||||
-rw-r--r-- | board/link/board.h | 1 | ||||
-rw-r--r-- | board/link/ec.tasklist | 1 | ||||
-rw-r--r-- | board/nyan/board.h | 1 | ||||
-rw-r--r-- | board/nyan/ec.tasklist | 3 | ||||
-rw-r--r-- | board/peppy/board.h | 1 | ||||
-rw-r--r-- | board/peppy/ec.tasklist | 1 | ||||
-rw-r--r-- | board/pit/board.h | 3 | ||||
-rw-r--r-- | board/pit/ec.tasklist | 3 | ||||
-rw-r--r-- | board/rambi/board.h | 1 | ||||
-rw-r--r-- | board/rambi/ec.tasklist | 1 | ||||
-rw-r--r-- | board/samus/board.h | 3 | ||||
-rw-r--r-- | board/samus/ec.tasklist | 1 | ||||
-rw-r--r-- | board/snow/board.h | 1 | ||||
-rw-r--r-- | board/snow/ec.tasklist | 3 | ||||
-rw-r--r-- | board/spring/board.h | 3 | ||||
-rw-r--r-- | board/spring/ec.tasklist | 3 | ||||
-rw-r--r-- | board/squawks/board.h | 1 | ||||
-rw-r--r-- | board/squawks/ec.tasklist | 1 | ||||
-rw-r--r-- | chip/stm32/config_chip.h | 3 | ||||
-rw-r--r-- | common/build.mk | 2 | ||||
-rw-r--r-- | common/flash.c | 4 | ||||
-rw-r--r-- | common/vboot_hash.c | 165 | ||||
-rw-r--r-- | include/config.h | 5 | ||||
-rw-r--r-- | test/test_config.h | 3 |
26 files changed, 114 insertions, 102 deletions
diff --git a/board/falco/board.h b/board/falco/board.h index 347da3b0e2..2900dc9b73 100644 --- a/board/falco/board.h +++ b/board/falco/board.h @@ -34,6 +34,7 @@ #define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PP3300_DX_EN #define CONFIG_UART_HOST 2 #define CONFIG_USB_PORT_POWER_DUMB +#define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #ifndef __ASSEMBLER__ diff --git a/board/falco/ec.tasklist b/board/falco/ec.tasklist index 8666f7db09..d193e6e7b2 100644 --- a/board/falco/ec.tasklist +++ b/board/falco/ec.tasklist @@ -18,7 +18,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/link/board.h b/board/link/board.h index 743f77a72c..def2af9146 100644 --- a/board/link/board.h +++ b/board/link/board.h @@ -39,6 +39,7 @@ #define CONFIG_TEMP_SENSOR_TMP006 #define CONFIG_UART_HOST 1 #define CONFIG_USB_PORT_POWER_SMART +#define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #define CONFIG_WP_ACTIVE_HIGH diff --git a/board/link/ec.tasklist b/board/link/ec.tasklist index 3f3d9b5015..53b30cb9a3 100644 --- a/board/link/ec.tasklist +++ b/board/link/ec.tasklist @@ -18,7 +18,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(LIGHTBAR, lightbar_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/nyan/board.h b/board/nyan/board.h index 52c9e80933..ebbe266ea9 100644 --- a/board/nyan/board.h +++ b/board/nyan/board.h @@ -21,6 +21,7 @@ #define CONFIG_SPI #define CONFIG_PWM #define CONFIG_POWER_BUTTON +#define CONFIG_VBOOT_HASH #ifndef __ASSEMBLER__ diff --git a/board/nyan/ec.tasklist b/board/nyan/ec.tasklist index 448879d105..dcdca4df28 100644 --- a/board/nyan/ec.tasklist +++ b/board/nyan/ec.tasklist @@ -15,8 +15,7 @@ * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(POWERLED, power_led_task, NULL, 256) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/peppy/board.h b/board/peppy/board.h index c4ceaf93ee..8749e60f89 100644 --- a/board/peppy/board.h +++ b/board/peppy/board.h @@ -36,6 +36,7 @@ #define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PP3300_DX_EN #define CONFIG_UART_HOST 2 #define CONFIG_USB_PORT_POWER_DUMB +#define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #ifndef __ASSEMBLER__ diff --git a/board/peppy/ec.tasklist b/board/peppy/ec.tasklist index 8666f7db09..d193e6e7b2 100644 --- a/board/peppy/ec.tasklist +++ b/board/peppy/ec.tasklist @@ -18,7 +18,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/pit/board.h b/board/pit/board.h index f4fc68b06d..c5ef19fbcd 100644 --- a/board/pit/board.h +++ b/board/pit/board.h @@ -22,8 +22,9 @@ #define CONFIG_PMU_HARD_RESET #define CONFIG_PMU_POWERINFO #define CONFIG_PMU_TPS65090 -#define CONFIG_SPI #define CONFIG_PWM +#define CONFIG_SPI +#define CONFIG_VBOOT_HASH #ifndef __ASSEMBLER__ diff --git a/board/pit/ec.tasklist b/board/pit/ec.tasklist index 448879d105..dcdca4df28 100644 --- a/board/pit/ec.tasklist +++ b/board/pit/ec.tasklist @@ -15,8 +15,7 @@ * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(POWERLED, power_led_task, NULL, 256) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/rambi/board.h b/board/rambi/board.h index 1cde39f89b..420d072620 100644 --- a/board/rambi/board.h +++ b/board/rambi/board.h @@ -36,6 +36,7 @@ #define CONFIG_TEMP_SENSOR_TMP432 #define CONFIG_USB_PORT_POWER_SMART #define CONFIG_USB_PORT_POWER_SMART_SIMPLE +#define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #ifndef __ASSEMBLER__ diff --git a/board/rambi/ec.tasklist b/board/rambi/ec.tasklist index c8284ec561..8b4485818f 100644 --- a/board/rambi/ec.tasklist +++ b/board/rambi/ec.tasklist @@ -19,7 +19,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/samus/board.h b/board/samus/board.h index fac709c313..6eb42c1d84 100644 --- a/board/samus/board.h +++ b/board/samus/board.h @@ -46,8 +46,9 @@ #define CONFIG_TEMP_SENSOR_TMP006 #define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PP3300_DSW_GATED_EN #define CONFIG_UART_HOST 2 -#define CONFIG_WIRELESS #define CONFIG_USB_PORT_POWER_SMART +#define CONFIG_VBOOT_HASH +#define CONFIG_WIRELESS #ifndef __ASSEMBLER__ diff --git a/board/samus/ec.tasklist b/board/samus/ec.tasklist index 3f3d9b5015..53b30cb9a3 100644 --- a/board/samus/ec.tasklist +++ b/board/samus/ec.tasklist @@ -18,7 +18,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(LIGHTBAR, lightbar_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/snow/board.h b/board/snow/board.h index 476fc551c9..aadf10f827 100644 --- a/board/snow/board.h +++ b/board/snow/board.h @@ -30,6 +30,7 @@ #define CONFIG_PMU_HARD_RESET #define CONFIG_PMU_TPS65090 #define CONFIG_PWM +#define CONFIG_VBOOT_HASH /* use STOP mode when we have nothing to do */ #define CONFIG_LOW_POWER_IDLE diff --git a/board/snow/ec.tasklist b/board/snow/ec.tasklist index e2525aaeaf..e9c4bdd269 100644 --- a/board/snow/ec.tasklist +++ b/board/snow/ec.tasklist @@ -17,8 +17,7 @@ * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(POWERLED, power_led_task, NULL, 256) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/spring/board.h b/board/spring/board.h index 031e8b96b7..5259ebc1ca 100644 --- a/board/spring/board.h +++ b/board/spring/board.h @@ -34,8 +34,9 @@ #define CONFIG_LED_DRIVER_LP5562 #define CONFIG_PMU_HARD_RESET #define CONFIG_PMU_TPS65090 -#define CONFIG_USB_SWITCH_TSU6721 #define CONFIG_PWM +#define CONFIG_USB_SWITCH_TSU6721 +#define CONFIG_VBOOT_HASH #ifndef __ASSEMBLER__ diff --git a/board/spring/ec.tasklist b/board/spring/ec.tasklist index 4503bb2e95..f96ee6e387 100644 --- a/board/spring/ec.tasklist +++ b/board/spring/ec.tasklist @@ -17,8 +17,7 @@ * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, TASK_STACK_SIZE) \ + TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/squawks/board.h b/board/squawks/board.h index 1b93ecab22..0d184ace96 100644 --- a/board/squawks/board.h +++ b/board/squawks/board.h @@ -36,6 +36,7 @@ #define CONFIG_TEMP_SENSOR_TMP432 #define CONFIG_USB_PORT_POWER_SMART #define CONFIG_USB_PORT_POWER_SMART_SIMPLE +#define CONFIG_VBOOT_HASH #define CONFIG_WIRELESS #ifndef __ASSEMBLER__ diff --git a/board/squawks/ec.tasklist b/board/squawks/ec.tasklist index c8284ec561..8b4485818f 100644 --- a/board/squawks/ec.tasklist +++ b/board/squawks/ec.tasklist @@ -19,7 +19,6 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(VBOOTHASH, vboot_hash_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ diff --git a/chip/stm32/config_chip.h b/chip/stm32/config_chip.h index 2d439a800e..afc2afe32c 100644 --- a/chip/stm32/config_chip.h +++ b/chip/stm32/config_chip.h @@ -36,6 +36,9 @@ /* Default task stack size */ #define TASK_STACK_SIZE 488 +/* Larger task stack size, for hook task */ +#define LARGER_TASK_STACK_SIZE 640 + /* Interval between HOOK_TICK notifications */ #define HOOK_TICK_INTERVAL (500 * MSEC) diff --git a/common/build.mk b/common/build.mk index b1ac341891..21814a5d83 100644 --- a/common/build.mk +++ b/common/build.mk @@ -54,11 +54,11 @@ common-$(CONFIG_SWITCH)+=switch.o common-$(CONFIG_TEMP_SENSOR)+=temp_sensor.o thermal.o common-$(CONFIG_USB_PORT_POWER_DUMB)+=usb_port_power_dumb.o common-$(CONFIG_USB_PORT_POWER_SMART)+=usb_port_power_smart.o +common-$(CONFIG_VBOOT_HASH)+=sha256.o vboot_hash.o common-$(CONFIG_WIRELESS)+=wireless.o common-$(HAS_TASK_CHIPSET)+=chipset.o throttle_ap.o common-$(HAS_TASK_CONSOLE)+=console.o common-$(HAS_TASK_HOSTCMD)+=acpi.o host_command.o host_event_commands.o common-$(HAS_TASK_KEYSCAN)+=keyboard_scan.o common-$(HAS_TASK_LIGHTBAR)+=lightbar.o -common-$(HAS_TASK_VBOOTHASH)+=sha256.o vboot_hash.o common-$(TEST_BUILD)+=test_util.o diff --git a/common/flash.c b/common/flash.c index ccb0827806..10dda3768b 100644 --- a/common/flash.c +++ b/common/flash.c @@ -132,7 +132,7 @@ int flash_write(int offset, int size, const char *data) if (flash_dataptr(offset, size, CONFIG_FLASH_WRITE_SIZE, NULL) < 0) return EC_ERROR_INVAL; /* Invalid range */ -#ifdef HAS_TASK_VBOOTHASH +#ifdef CONFIG_VBOOT_HASH vboot_hash_invalidate(offset, size); #endif @@ -144,7 +144,7 @@ int flash_erase(int offset, int size) if (flash_dataptr(offset, size, CONFIG_FLASH_ERASE_SIZE, NULL) < 0) return EC_ERROR_INVAL; /* Invalid range */ -#ifdef HAS_TASK_VBOOTHASH +#ifdef CONFIG_VBOOT_HASH vboot_hash_invalidate(offset, size); #endif diff --git a/common/vboot_hash.c b/common/vboot_hash.c index abc67ebe00..bd80fbde2d 100644 --- a/common/vboot_hash.c +++ b/common/vboot_hash.c @@ -28,7 +28,9 @@ struct vboot_hash_tag { #define VBOOT_HASH_SYSJUMP_TAG 0x5648 /* "VH" */ #define VBOOT_HASH_SYSJUMP_VERSION 1 -#define CHUNK_SIZE 1024 + +#define CHUNK_SIZE 1024 /* Bytes to hash per deferred call */ +#define WORK_INTERVAL_US 100 /* Delay between deferred calls */ static uint32_t data_offset; static uint32_t data_size; @@ -39,10 +41,65 @@ static int in_progress; static struct sha256_ctx ctx; -/* +/** + * Abort hash currently in progress, and invalidate any completed hash. + */ +static void vboot_hash_abort(void) +{ + if (in_progress) { + want_abort = 1; + } else { + CPRINTF("[%T hash abort]\n"); + want_abort = 0; + data_size = 0; + hash = NULL; + } +} + +/** + * Do next chunk of hashing work, if any. + */ +static void vboot_hash_next_chunk(void) +{ + int size; + + /* Handle abort */ + if (want_abort) { + in_progress = 0; + vboot_hash_abort(); + return; + } + + /* Compute the next chunk of hash */ + size = MIN(CHUNK_SIZE, data_size - curr_pos); + SHA256_update(&ctx, (const uint8_t *)(CONFIG_FLASH_BASE + + data_offset + curr_pos), size); + + curr_pos += size; + if (curr_pos >= data_size) { + /* Store the final hash */ + hash = SHA256_final(&ctx); + CPRINTF("[%T hash done %.*h]\n", SHA256_DIGEST_SIZE, hash); + + in_progress = 0; + + /* Handle receiving abort during finalize */ + if (want_abort) + vboot_hash_abort(); + + return; + } + + /* If we're still here, more work to do; come back later */ + hook_call_deferred(vboot_hash_next_chunk, WORK_INTERVAL_US); +} +DECLARE_DEFERRED(vboot_hash_next_chunk); + +/** * Start computing a hash of <size> bytes of data at flash offset <offset>. - * If nonce_size is non-zero, prefixes the <nonce> onto the data to be - * hashed. Returns non-zero if error. + * + * If nonce_size is non-zero, prefixes the <nonce> onto the data to be hashed. + * Returns non-zero if error. */ static int vboot_hash_start(uint32_t offset, uint32_t size, const uint8_t *nonce, int nonce_size) @@ -74,25 +131,34 @@ static int vboot_hash_start(uint32_t offset, uint32_t size, if (nonce_size) SHA256_update(&ctx, nonce, nonce_size); - /* Wake the hash task */ - task_wake(TASK_ID_VBOOTHASH); + hook_call_deferred(vboot_hash_next_chunk, 0); return EC_SUCCESS; } -/* Abort hash currently in progress, and invalidate any completed hash. */ -static void vboot_hash_abort(void) +int vboot_hash_invalidate(int offset, int size) { - if (in_progress) { - want_abort = 1; - } else { - CPRINTF("[%T hash abort]\n"); - want_abort = 0; - data_size = 0; - hash = NULL; - } + /* Don't invalidate if passed an invalid region */ + if (offset < 0 || size <= 0 || offset + size < 0) + return 0; + + /* Don't invalidate if hash is already invalid */ + if (!hash) + return 0; + + /* No overlap if passed region is off either end of hashed region */ + if (offset + size <= data_offset || offset >= data_offset + data_size) + return 0; + + /* Invalidate the hash */ + CPRINTF("[%T hash invalidated 0x%08x 0x%08x]\n", offset, size); + vboot_hash_abort(); + return 1; } +/*****************************************************************************/ +/* Hooks */ + static void vboot_hash_init(void) { #ifdef CONFIG_SAVE_VBOOT_HASH @@ -117,72 +183,7 @@ static void vboot_hash_init(void) NULL, 0); } } - -int vboot_hash_invalidate(int offset, int size) -{ - /* Don't invalidate if passed an invalid region */ - if (offset < 0 || size <= 0 || offset + size < 0) - return 0; - - /* Don't invalidate if hash is already invalid */ - if (!hash) - return 0; - - /* No overlap if passed region is off either end of hashed region */ - if (offset + size <= data_offset || offset >= data_offset + data_size) - return 0; - - /* Invalidate the hash */ - CPRINTF("[%T hash invalidated 0x%08x 0x%08x]\n", offset, size); - vboot_hash_abort(); - return 1; -} - -void vboot_hash_task(void) -{ - vboot_hash_init(); - - while (1) { - if (!in_progress) { - /* Nothing to do, so go back to sleep */ - task_wait_event(-1); - } else if (want_abort) { - /* Abort hash computation currently in progress */ - in_progress = 0; - vboot_hash_abort(); - } else { - /* Compute the next chunk of hash */ - int size = MIN(CHUNK_SIZE, data_size - curr_pos); - - SHA256_update(&ctx, - (const uint8_t *)(CONFIG_FLASH_BASE + - data_offset + curr_pos), - size); - curr_pos += size; - if (curr_pos >= data_size) { - /* Store the final hash */ - hash = SHA256_final(&ctx); - CPRINTF("[%T hash done %.*h]\n", - SHA256_DIGEST_SIZE, hash); - - in_progress = 0; - - /* Handle receiving abort during finalize */ - if (want_abort) - vboot_hash_abort(); - } - - /* - * Let other tasks (really, just the watchdog task) - * run for a bit. - */ - usleep(100); - } - } -} - -/*****************************************************************************/ -/* Hooks */ +DECLARE_HOOK(HOOK_INIT, vboot_hash_init, HOOK_PRIO_DEFAULT); #ifdef CONFIG_SAVE_VBOOT_HASH diff --git a/include/config.h b/include/config.h index 4d4c908e01..f3035c2fa9 100644 --- a/include/config.h +++ b/include/config.h @@ -744,6 +744,11 @@ #undef CONFIG_USB_SWITCH_TSU6721 /*****************************************************************************/ + +/* Support computing hash of code for verified boot */ +#undef CONFIG_VBOOT_HASH + +/*****************************************************************************/ /* Watchdog config */ /* diff --git a/test/test_config.h b/test/test_config.h index 70a3ec72a3..4767d034be 100644 --- a/test/test_config.h +++ b/test/test_config.h @@ -8,6 +8,9 @@ #ifndef __CROS_EC_TEST_CONFIG_H #define __CROS_EC_TEST_CONFIG_H +/* Don't compile vboot hash support unless specifically testing for it */ +#undef CONFIG_VBOOT_HASH + #ifdef TEST_ADAPTER #define CONFIG_CHIPSET_CAN_THROTTLE #define CONFIG_EXTPOWER_FALCO |