From eb93d200bee773836098d9bc0b7afd77c3155b23 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Tue, 17 Jul 2012 10:47:17 -0700 Subject: [PATCH] Rename section A to RW, to match other platforms BUG=chrome-os-partner:11149 TEST=make link, snow, bds; on reboot, sysjump rw sysinfo <- should indicate current image is rw Then on root shell, ectool version <- should indicate rw Change-Id: I833fcb814165379dd044e4cb46ae338e5da81212 Signed-off-by: Randall Spangler Reviewed-on: https://gerrit.chromium.org/gerrit/27660 --- common/system_common.c | 35 ++++++++++++++++++----------------- common/vboot_sig.c | 12 ++++++------ include/ec_commands.h | 6 +++--- include/system.h | 2 +- util/burn_my_ec.c | 10 +++++----- util/ectool.c | 21 ++++++++++----------- 6 files changed, 43 insertions(+), 43 deletions(-) diff --git a/common/system_common.c b/common/system_common.c index f13dc57609..31e91d3ed3 100644 --- a/common/system_common.c +++ b/common/system_common.c @@ -75,7 +75,7 @@ static const char * const reset_flag_descs[] = { "hibernate", "rtc-alarm", "wake-pin", "low-battery", "sysjump", "hard"}; -static const char * const image_names[] = {"unknown", "RO", "A", "B"}; +static const char * const image_names[] = {"unknown", "RO", "RW"}; static uint32_t reset_flags; static int jumped_to_image; static int disable_jump; /* Disable ALL jumps if system is locked */ @@ -223,7 +223,7 @@ enum system_image_copy_t system_get_image_copy(void) if (my_addr >= CONFIG_SECTION_RW_OFF && my_addr < (CONFIG_SECTION_RW_OFF + CONFIG_SECTION_RW_SIZE)) - return SYSTEM_IMAGE_RW_A; + return SYSTEM_IMAGE_RW; return SYSTEM_IMAGE_UNKNOWN; } @@ -242,7 +242,7 @@ int system_unsafe_to_overwrite(uint32_t offset, uint32_t size) { r_offset = CONFIG_FW_RO_OFF; r_size = CONFIG_FW_RO_SIZE; break; - case SYSTEM_IMAGE_RW_A: + case SYSTEM_IMAGE_RW: r_offset = CONFIG_FW_RW_OFF; r_size = CONFIG_FW_RW_SIZE; break; @@ -309,7 +309,7 @@ static uint32_t get_base(enum system_image_copy_t copy) switch (copy) { case SYSTEM_IMAGE_RO: return CONFIG_FLASH_BASE + CONFIG_FW_RO_OFF; - case SYSTEM_IMAGE_RW_A: + case SYSTEM_IMAGE_RW: return CONFIG_FLASH_BASE + CONFIG_FW_RW_OFF; default: return 0xffffffff; @@ -322,7 +322,7 @@ static uint32_t get_size(enum system_image_copy_t copy) switch (copy) { case SYSTEM_IMAGE_RO: return CONFIG_FW_RO_SIZE; - case SYSTEM_IMAGE_RW_A: + case SYSTEM_IMAGE_RW: return CONFIG_FW_RW_SIZE; default: return 0; @@ -348,7 +348,7 @@ int system_run_image_copy(enum system_image_copy_t copy) return EC_ERROR_ACCESS_DENIED; /* Target image must be RW image */ - if (copy != SYSTEM_IMAGE_RW_A) + if (copy != SYSTEM_IMAGE_RW) return EC_ERROR_ACCESS_DENIED; /* Can't have already jumped between images */ @@ -498,8 +498,8 @@ static int handle_pending_reboot(enum ec_reboot_cmd cmd) return EC_SUCCESS; case EC_REBOOT_JUMP_RO: return system_run_image_copy(SYSTEM_IMAGE_RO); - case EC_REBOOT_JUMP_RW_A: - return system_run_image_copy(SYSTEM_IMAGE_RW_A); + case EC_REBOOT_JUMP_RW: + return system_run_image_copy(SYSTEM_IMAGE_RW); case EC_REBOOT_COLD: system_reset(SYSTEM_RESET_HARD); /* That shouldn't return... */ @@ -605,7 +605,7 @@ static int command_version(int argc, char **argv) system_get_chip_name(), system_get_chip_revision()); ccprintf("Board: %d\n", system_get_board_version()); ccprintf("RO: %s\n", system_get_version(SYSTEM_IMAGE_RO)); - ccprintf("RW: %s\n", system_get_version(SYSTEM_IMAGE_RW_A)); + ccprintf("RW: %s\n", system_get_version(SYSTEM_IMAGE_RW)); ccprintf("Build: %s\n", system_get_build_info()); return EC_SUCCESS; } @@ -626,9 +626,10 @@ 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], "A")) - return system_run_image_copy(SYSTEM_IMAGE_RW_A); - else if (!strcasecmp(argv[1], "disable")) { + else if (!strcasecmp(argv[1], "RW") || !strcasecmp(argv[1], "A")) { + /* TODO: remove "A" once all scripts are updated to use "RW" */ + return system_run_image_copy(SYSTEM_IMAGE_RW); + } else if (!strcasecmp(argv[1], "disable")) { system_disable_jump(); return EC_SUCCESS; } @@ -648,7 +649,7 @@ static int command_sysjump(int argc, char **argv) return EC_SUCCESS; } DECLARE_CONSOLE_COMMAND(sysjump, command_sysjump, - "[RO | A | B | addr | disable]", + "[RO | RW | addr | disable]", "Jump to a system image or address", NULL); @@ -700,15 +701,15 @@ static int host_command_get_version(struct host_cmd_handler_args *args) strzcpy(r->version_string_ro, system_get_version(SYSTEM_IMAGE_RO), sizeof(r->version_string_ro)); - strzcpy(r->version_string_rw_a, system_get_version(SYSTEM_IMAGE_RW_A), - sizeof(r->version_string_rw_a)); + strzcpy(r->version_string_rw, system_get_version(SYSTEM_IMAGE_RW), + sizeof(r->version_string_rw)); switch (system_get_image_copy()) { case SYSTEM_IMAGE_RO: r->current_image = EC_IMAGE_RO; break; - case SYSTEM_IMAGE_RW_A: - r->current_image = EC_IMAGE_RW_A; + case SYSTEM_IMAGE_RW: + r->current_image = EC_IMAGE_RW; break; default: r->current_image = EC_IMAGE_UNKNOWN; diff --git a/common/vboot_sig.c b/common/vboot_sig.c index 5b8d7e6304..ae2ddb199e 100644 --- a/common/vboot_sig.c +++ b/common/vboot_sig.c @@ -130,7 +130,7 @@ int vboot_check_signature(void) if (!maybe_jump_to_other_image()) return EC_SUCCESS; - CPRINTF("[%T Vboot check image A...]\n"); + CPRINTF("[%T Vboot check RW image...]\n"); ts1 = get_time(); r = good_image((uint8_t *)CONFIG_VBOOT_ROOTKEY_OFF, @@ -143,16 +143,16 @@ int vboot_check_signature(void) switch (r) { case IMAGE_IS_GOOD: - CPRINTF("[Image A verified]\n"); - system_run_image_copy(SYSTEM_IMAGE_RW_A); - CPRINTF("[ERROR: Unable to jump to image A]\n"); + CPRINTF("[RW image verified]\n"); + system_run_image_copy(SYSTEM_IMAGE_RW); + CPRINTF("[ERROR: Unable to jump to RW image]\n"); goto bad; case IMAGE_IS_GOOD_BUT_USE_RO_ANYWAY: - CPRINTF("[Image A verified]\n"); + CPRINTF("[RW image verified]\n"); CPRINTF("[Staying in RO mode]\n"); return EC_SUCCESS; default: - CPRINTF("[Image A is invalid]\n"); + CPRINTF("[RW image is invalid]\n"); } bad: diff --git a/include/ec_commands.h b/include/ec_commands.h index eb73b438e0..18f309beba 100644 --- a/include/ec_commands.h +++ b/include/ec_commands.h @@ -290,13 +290,13 @@ struct ec_response_hello { enum ec_current_image { EC_IMAGE_UNKNOWN = 0, EC_IMAGE_RO, - EC_IMAGE_RW_A + EC_IMAGE_RW }; struct ec_response_get_version { /* Null-terminated version strings for RO, RW */ char version_string_ro[32]; - char version_string_rw_a[32]; + char version_string_rw[32]; char reserved[32]; /* Was previously RW-B string */ uint32_t current_image; /* One of ec_current_image */ } __packed; @@ -871,7 +871,7 @@ struct ec_params_i2c_write { enum ec_reboot_cmd { EC_REBOOT_CANCEL = 0, /* Cancel a pending reboot */ EC_REBOOT_JUMP_RO, /* Jump to RO without rebooting */ - EC_REBOOT_JUMP_RW_A, /* Jump to RW-A without rebooting */ + EC_REBOOT_JUMP_RW, /* Jump to RW without rebooting */ /* (command 3 was jump to RW-B) */ EC_REBOOT_COLD = 4, /* Cold-reboot */ EC_REBOOT_DISABLE_JUMP, /* Disable jump until next reboot */ diff --git a/include/system.h b/include/system.h index 0f473b2f6a..4e2fcdaabe 100644 --- a/include/system.h +++ b/include/system.h @@ -28,7 +28,7 @@ enum system_image_copy_t { SYSTEM_IMAGE_UNKNOWN = 0, SYSTEM_IMAGE_RO, - SYSTEM_IMAGE_RW_A + SYSTEM_IMAGE_RW }; /* Pre-initializes the module. This occurs before clocks or tasks are diff --git a/util/burn_my_ec.c b/util/burn_my_ec.c index f6f0ac3f1a..35de5b04ec 100644 --- a/util/burn_my_ec.c +++ b/util/burn_my_ec.c @@ -15,7 +15,7 @@ #define STR0(name) #name #define STR(name) STR0(name) -static const char * const part_name[] = {"unknown", "RO", "A", "B"}; +static const char * const part_name[] = {"unknown", "RO", "RW"}; enum ec_current_image get_version(enum ec_current_image *version_ptr) { @@ -33,12 +33,12 @@ enum ec_current_image get_version(enum ec_current_image *version_ptr) /* Ensure versions are null-terminated before we print them */ r.version_string_ro[sizeof(r.version_string_ro) - 1] = '\0'; - r.version_string_rw_a[sizeof(r.version_string_rw_a) - 1] = '\0'; + r.version_string_rw[sizeof(r.version_string_rw) - 1] = '\0'; build_info[sizeof(build_info) - 1] = '\0'; /* Print versions */ printf("RO version: %s\n", r.version_string_ro); - printf("RW version: %s\n", r.version_string_rw_a); + printf("RW version: %s\n", r.version_string_rw); printf("Firmware copy: %s\n", (r.current_image < sizeof(part_name)/sizeof(part_name[0]) ? part_name[r.current_image] : "?")); @@ -70,7 +70,7 @@ int flash_partition(enum ec_current_image part, const uint8_t *payload, if (current == part) { rst_req.cmd = part == EC_IMAGE_RO ? - EC_REBOOT_JUMP_RW_A : EC_REBOOT_JUMP_RO; + EC_REBOOT_JUMP_RW : EC_REBOOT_JUMP_RO; ec_command(EC_CMD_REBOOT_EC, 0, &rst_req, sizeof(rst_req), NULL, 0); /* wait EC reboot */ @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) if (comm_init() < 0) return -3; - flash_partition(EC_IMAGE_RW_A, data + CONFIG_FW_RW_OFF, + flash_partition(EC_IMAGE_RW, data + CONFIG_FW_RW_OFF, CONFIG_FW_RW_OFF, CONFIG_FW_RW_SIZE); flash_partition(EC_IMAGE_RO, data + CONFIG_FW_RO_OFF, CONFIG_FW_RO_OFF, CONFIG_FW_RO_SIZE); diff --git a/util/ectool.c b/util/ectool.c index ede7f3a828..3fddb992f1 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -129,6 +129,8 @@ const char help_str[] = " pci_write16 0 0x1f 0 0x82 0x3d01\n" ""; +/* Note: depends on enum system_image_copy_t */ +static const char * const image_names[] = {"unknown", "RO", "RW"}; /* Write a buffer to the file. Return non-zero if error. */ static int write_file(const char *filename, const char *buf, int size) @@ -279,7 +281,6 @@ int cmd_cmdversions(int argc, char *argv[]) int cmd_version(int argc, char *argv[]) { - static const char * const fw_copies[] = {"unknown", "RO", "A", "B"}; struct ec_response_get_version r; char build_string[EC_HOST_PARAM_SIZE]; int rv; @@ -295,15 +296,15 @@ int cmd_version(int argc, char *argv[]) /* Ensure versions are null-terminated before we print them */ r.version_string_ro[sizeof(r.version_string_ro) - 1] = '\0'; - r.version_string_rw_a[sizeof(r.version_string_rw_a) - 1] = '\0'; + r.version_string_rw[sizeof(r.version_string_rw) - 1] = '\0'; build_string[sizeof(build_string) - 1] = '\0'; /* Print versions */ printf("RO version: %s\n", r.version_string_ro); - printf("RW version: %s\n", r.version_string_rw_a); + printf("RW version: %s\n", r.version_string_rw); printf("Firmware copy: %s\n", - (r.current_image < ARRAY_SIZE(fw_copies) ? - fw_copies[r.current_image] : "?")); + (r.current_image < ARRAY_SIZE(image_names) ? + image_names[r.current_image] : "?")); printf("Build info: %s\n", build_string); return 0; @@ -395,9 +396,10 @@ int cmd_reboot_ec(int argc, char *argv[]) p.cmd = EC_REBOOT_CANCEL; else if (!strcmp(argv[1], "RO")) p.cmd = EC_REBOOT_JUMP_RO; - else if (!strcmp(argv[1], "A")) - p.cmd = EC_REBOOT_JUMP_RW_A; - else if (!strcmp(argv[1], "cold")) + else if (!strcmp(argv[1], "RW") || !strcmp(argv[1], "A")) { + /* TODO: remove "A" once all scripts are updated to use "RW" */ + p.cmd = EC_REBOOT_JUMP_RW; + } else if (!strcmp(argv[1], "cold")) p.cmd = EC_REBOOT_COLD; else if (!strcmp(argv[1], "disable-jump")) p.cmd = EC_REBOOT_DISABLE_JUMP; @@ -1045,9 +1047,6 @@ static const struct { sizeof(((struct ec_params_vboot_cmd *)0)->out.set_flags) }, }; -/* Note: depends on enum system_image_copy_t */ -static const char * const image_names[] = {"unknown", "RO", "A", "B"}; - static int cmd_vboot(int argc, char **argv) { int rv;