summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-07-17 09:58:17 -0700
committerGerrit <chrome-bot@google.com>2012-07-17 13:11:44 -0700
commitfc7b64e186723f32a00663f51161a467af58c2f3 (patch)
tree7b7b3e0b65f4cca2ea91b0743b196dbd95926c9f /common
parentc44c17890c2fbda1edc74361b0174fed405f9eee (diff)
downloadchrome-ec-fc7b64e186723f32a00663f51161a467af58c2f3.tar.gz
Remove firmware B
BUG=chrome-os-partner:11449 TEST=build link, snow, bds; ectool reboot_ec cold to make sure enums line up Change-Id: Ie09db2080a00f1a7e2c05579b9b41ea5137c1af0 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/27658 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/firmware_image.S8
-rw-r--r--common/firmware_image.lds.S7
-rw-r--r--common/fmap.c37
-rw-r--r--common/system_common.c30
-rw-r--r--common/vboot_sig.c29
5 files changed, 6 insertions, 105 deletions
diff --git a/common/firmware_image.S b/common/firmware_image.S
index c3c00ab2f7..30f987d2fa 100644
--- a/common/firmware_image.S
+++ b/common/firmware_image.S
@@ -17,12 +17,6 @@
.section .image.RO, "ax"
.incbin FW_IMAGE(RO)
-/* Read Write firmware copy A */
+/* Read Write firmware */
.section .image.RW, "ax"
.incbin FW_IMAGE(RW)
-
-#ifdef CONFIG_RW_B
-/* Read Write firmware copy B */
-.section .image.RW_B, "ax"
-.incbin FW_IMAGE(RW_B)
-#endif
diff --git a/common/firmware_image.lds.S b/common/firmware_image.lds.S
index 15e784f45d..3cd806dce7 100644
--- a/common/firmware_image.lds.S
+++ b/common/firmware_image.lds.S
@@ -23,13 +23,6 @@ SECTIONS
*(.image.RW)
BYTE(0xEA) /* Mark end explicitly */
} > FLASH =0xff
-#ifdef CONFIG_RW_B
- . = ALIGN(CONFIG_FLASH_BANK_SIZE);
- .image.RW_B : AT(CONFIG_FLASH_BASE + CONFIG_SECTION_RW_B_OFF) {
- *(.image.RW_B)
- BYTE(0xEB) /* Mark end explicitly */
- } > FLASH =0xff
-#endif
.padding : AT(CONFIG_FLASH_BASE + CONFIG_FLASH_SIZE - 1) {
BYTE(0xff);
} > FLASH =0xff
diff --git a/common/fmap.c b/common/fmap.c
index 685e872aa3..82a380f031 100644
--- a/common/fmap.c
+++ b/common/fmap.c
@@ -40,7 +40,7 @@ typedef struct _FmapAreaHeader {
} __packed FmapAreaHeader;
-#define NUM_EC_FMAP_AREAS 17
+#define NUM_EC_FMAP_AREAS 13
const struct _ec_fmap {
FmapHeader header;
FmapAreaHeader area[NUM_EC_FMAP_AREAS];
@@ -108,11 +108,10 @@ const struct _ec_fmap {
.area_flags = FMAP_AREA_STATIC | FMAP_AREA_RO,
},
{
- /* The range for autoupdate to update A/B at once. */
+ /* The range for autoupdate to update RW */
.area_name = "EC_RW",
.area_offset = CONFIG_SECTION_RW_OFF,
- .area_size = CONFIG_SECTION_RW_SIZE
- + CONFIG_SECTION_RW_B_SIZE,
+ .area_size = CONFIG_SECTION_RW_SIZE,
.area_flags = FMAP_AREA_STATIC | FMAP_AREA_RO,
},
{
@@ -151,35 +150,5 @@ const struct _ec_fmap {
.area_size = CONFIG_VBLOCK_SIZE,
.area_flags = FMAP_AREA_STATIC,
},
-
-#ifdef CONFIG_RW_B
- /* Firmware B */
- {
- .area_name = "RW_SECTION_B",
- .area_offset = CONFIG_SECTION_RW_B_OFF,
- .area_size = CONFIG_SECTION_RW_B_SIZE,
- .area_flags = FMAP_AREA_STATIC,
- },
- {
- .area_name = "FW_MAIN_B",
- .area_offset = CONFIG_FW_RW_B_OFF,
- .area_size = CONFIG_FW_RW_B_SIZE,
- .area_flags = FMAP_AREA_STATIC,
- },
- {
- .area_name = "RW_FWID_B", /* FIXME: Where is it? */
- .area_offset = CONFIG_FW_RW_B_OFF +
- (uint32_t)__version_struct_offset +
- offsetof(struct version_struct, version),
- .area_size = sizeof(version_data.version),
- .area_flags = FMAP_AREA_STATIC,
- },
- {
- .area_name = "VBLOCK_B",
- .area_offset = CONFIG_VBLOCK_RW_B_OFF,
- .area_size = CONFIG_VBLOCK_SIZE,
- .area_flags = FMAP_AREA_STATIC,
- },
-#endif /* CONFIG_RW_B */
}
};
diff --git a/common/system_common.c b/common/system_common.c
index cb909730cd..f13dc57609 100644
--- a/common/system_common.c
+++ b/common/system_common.c
@@ -225,10 +225,6 @@ enum system_image_copy_t system_get_image_copy(void)
my_addr < (CONFIG_SECTION_RW_OFF + CONFIG_SECTION_RW_SIZE))
return SYSTEM_IMAGE_RW_A;
- if (my_addr >= CONFIG_SECTION_RW_B_OFF &&
- my_addr < (CONFIG_SECTION_RW_B_OFF + CONFIG_SECTION_RW_B_SIZE))
- return SYSTEM_IMAGE_RW_B;
-
return SYSTEM_IMAGE_UNKNOWN;
}
@@ -250,10 +246,6 @@ int system_unsafe_to_overwrite(uint32_t offset, uint32_t size) {
r_offset = CONFIG_FW_RW_OFF;
r_size = CONFIG_FW_RW_SIZE;
break;
- case SYSTEM_IMAGE_RW_B:
- r_offset = CONFIG_FW_RW_B_OFF;
- r_size = CONFIG_FW_RW_B_SIZE;
- break;
default:
return 0;
}
@@ -319,10 +311,6 @@ static uint32_t get_base(enum system_image_copy_t copy)
return CONFIG_FLASH_BASE + CONFIG_FW_RO_OFF;
case SYSTEM_IMAGE_RW_A:
return CONFIG_FLASH_BASE + CONFIG_FW_RW_OFF;
-#ifdef CONFIG_RW_B
- case SYSTEM_IMAGE_RW_B:
- return CONFIG_FLASH_BASE + CONFIG_FW_RW_B_OFF;
-#endif
default:
return 0xffffffff;
}
@@ -336,10 +324,6 @@ static uint32_t get_size(enum system_image_copy_t copy)
return CONFIG_FW_RO_SIZE;
case SYSTEM_IMAGE_RW_A:
return CONFIG_FW_RW_SIZE;
-#ifdef CONFIG_RW_B
- case SYSTEM_IMAGE_RW_B:
- return CONFIG_FW_RW_B_SIZE;
-#endif
default:
return 0;
}
@@ -364,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 && copy != SYSTEM_IMAGE_RW_B)
+ if (copy != SYSTEM_IMAGE_RW_A)
return EC_ERROR_ACCESS_DENIED;
/* Can't have already jumped between images */
@@ -516,8 +500,6 @@ static int handle_pending_reboot(enum ec_reboot_cmd cmd)
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_B:
- return system_run_image_copy(SYSTEM_IMAGE_RW_B);
case EC_REBOOT_COLD:
system_reset(SYSTEM_RESET_HARD);
/* That shouldn't return... */
@@ -623,8 +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-A: %s\n", system_get_version(SYSTEM_IMAGE_RW_A));
- ccprintf("RW-B: %s\n", system_get_version(SYSTEM_IMAGE_RW_B));
+ ccprintf("RW: %s\n", system_get_version(SYSTEM_IMAGE_RW_A));
ccprintf("Build: %s\n", system_get_build_info());
return EC_SUCCESS;
}
@@ -647,8 +628,6 @@ static int command_sysjump(int argc, char **argv)
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], "B"))
- return system_run_image_copy(SYSTEM_IMAGE_RW_B);
else if (!strcasecmp(argv[1], "disable")) {
system_disable_jump();
return EC_SUCCESS;
@@ -723,8 +702,6 @@ static int host_command_get_version(struct host_cmd_handler_args *args)
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_b, system_get_version(SYSTEM_IMAGE_RW_B),
- sizeof(r->version_string_rw_b));
switch (system_get_image_copy()) {
case SYSTEM_IMAGE_RO:
@@ -733,9 +710,6 @@ static int host_command_get_version(struct host_cmd_handler_args *args)
case SYSTEM_IMAGE_RW_A:
r->current_image = EC_IMAGE_RW_A;
break;
- case SYSTEM_IMAGE_RW_B:
- r->current_image = EC_IMAGE_RW_B;
- break;
default:
r->current_image = EC_IMAGE_UNKNOWN;
break;
diff --git a/common/vboot_sig.c b/common/vboot_sig.c
index c0e2f2ab79..5b8d7e6304 100644
--- a/common/vboot_sig.c
+++ b/common/vboot_sig.c
@@ -155,35 +155,6 @@ int vboot_check_signature(void)
CPRINTF("[Image A is invalid]\n");
}
-#ifdef CONFIG_RW_B
- CPRINTF("[%T Vboot check image B...]\n");
-
- ts1 = get_time();
- r = good_image((uint8_t *)CONFIG_VBOOT_ROOTKEY_OFF,
- (uint8_t *)CONFIG_VBLOCK_RW_B_OFF, CONFIG_VBLOCK_SIZE,
- (uint8_t *)CONFIG_FW_RW_B_OFF, CONFIG_FW_RW_B_SIZE);
- ts2 = get_time();
-
- CPRINTF("[%T Vboot result=%d, elapsed time=%ld us]\n",
- r, ts2.val - ts1.val);
-
- switch (r) {
- case IMAGE_IS_GOOD:
- CPRINTF("[Image B verified]\n");
- system_run_image_copy(SYSTEM_IMAGE_RW_B);
- CPRINTF("[ERROR: Unable to jump to image B]\n");
- goto bad;
- case IMAGE_IS_GOOD_BUT_USE_RO_ANYWAY:
- CPRINTF("[Image B verified]\n");
- CPRINTF("[Staying in RO mode]\n");
- return EC_SUCCESS;
- default:
- CPRINTF("[Image B is invalid]\n");
- }
-#else /* CONFIG_RW_B */
- CPRINTF("[Vboot no image B to check]\n");
-#endif /* CONFIG_RW_B */
-
bad:
CPRINTF("[Staying in RO mode]\n");
CPRINTF("[FIXME: How to trigger recovery mode?]\n");