diff options
author | Mary Ruthven <mruthven@chromium.org> | 2021-11-09 19:58:37 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-11-18 04:53:28 +0000 |
commit | f493af8b846ad7d2687b292ece25e1b16de982a1 (patch) | |
tree | 6a9ad0c364d9ec9cb831b1ba53023294ac64b9ca | |
parent | b92073532056f5c11d2369177ac0cc9b22b38295 (diff) | |
download | chrome-ec-f493af8b846ad7d2687b292ece25e1b16de982a1.tar.gz |
Revert "vboot: Jump to RW early"
This reverts commit 921e9b71258c318f364457d97a94d3fb9e1bbbfc.
BUG=b:200823466
TEST=make buildall -j
Change-Id: Ic168ce083509437ff729f41dc43784bd15913c55
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3273457
Reviewed-by: Vadim Sukhomlinov <sukhomlinov@chromium.org>
-rw-r--r-- | common/system.c | 8 | ||||
-rw-r--r-- | include/vboot.h | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/common/system.c b/common/system.c index 0aba47d1fb..a98dd35ea9 100644 --- a/common/system.c +++ b/common/system.c @@ -969,9 +969,13 @@ static int command_sysjump(int argc, char **argv) /* Handle named images */ if (!strcasecmp(argv[1], "RO")) return system_run_image_copy(SYSTEM_IMAGE_RO); - else if (!strcasecmp(argv[1], "RW") || !strcasecmp(argv[1], "A")) + else if (!strcasecmp(argv[1], "RW") || !strcasecmp(argv[1], "A")) { + /* + * TODO(crosbug.com/p/11149): remove "A" once all scripts are + * updated to use "RW". + */ return system_run_image_copy(SYSTEM_IMAGE_RW); - else if (!strcasecmp(argv[1], "B")) { + } else if (!strcasecmp(argv[1], "B")) { #ifdef CONFIG_RW_B return system_run_image_copy(SYSTEM_IMAGE_RW_B); #else diff --git a/include/vboot.h b/include/vboot.h index a50f68b31c..13266c3864 100644 --- a/include/vboot.h +++ b/include/vboot.h @@ -129,4 +129,14 @@ int vboot_is_padding_valid(const uint8_t *data, uint32_t start, uint32_t end); int vboot_verify(const uint8_t *data, int len, const struct rsa_public_key *key, const uint8_t *sig); +/** + * Verify RW image and jump to it + * + * Calling this API results in one of the following: + * 1. Returns, expecting PD will provide enough power after negotiation + * 2. Jumps to RW (no return) + * 3. Returns, requesting more power + * 4. Returns, requesting recovery + */ +void vboot_main(void); #endif /* __CROS_EC_INCLUDE_VBOOT_H */ |