summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
Diffstat (limited to 'chip')
-rw-r--r--chip/g/system.c15
-rw-r--r--chip/mec1322/lfw/ec_lfw.c2
-rw-r--r--chip/mec1322/lfw/ec_lfw.ld2
3 files changed, 8 insertions, 11 deletions
diff --git a/chip/g/system.c b/chip/g/system.c
index 041ee8e9b5..ad553168c5 100644
--- a/chip/g/system.c
+++ b/chip/g/system.c
@@ -259,7 +259,7 @@ static char vers_str[MAX_RO_VER_LEN];
const char *system_get_version(enum system_image_copy_t copy)
{
- const struct image_data *data;
+ const struct version_struct *v;
const struct SignedHeader *h;
enum system_image_copy_t this_copy;
uintptr_t vaddr, delta;
@@ -290,7 +290,7 @@ const char *system_get_version(enum system_image_copy_t copy)
if (copy == this_copy) {
snprintf(vers_str, sizeof(vers_str), "%d.%d.%d/%s",
h->epoch_, h->major_, h->minor_,
- current_image_data.version);
+ version_data.version);
return vers_str;
}
@@ -299,7 +299,7 @@ const char *system_get_version(enum system_image_copy_t copy)
* puts the version string right after the reset vectors, so
* it's at the same relative offset. Measure that offset here.
*/
- delta = (uintptr_t)&current_image_data - vaddr;
+ delta = (uintptr_t)&version_data - vaddr;
/* Now look at that offset in the requested image */
vaddr = get_program_memory_addr(copy);
@@ -307,18 +307,17 @@ const char *system_get_version(enum system_image_copy_t copy)
break;
h = (const struct SignedHeader *)vaddr;
vaddr += delta;
- data = (const struct image_data *)vaddr;
+ v = (const struct version_struct *)vaddr;
/*
* Make sure the version struct cookies match before returning
* the version string.
*/
- if (data->cookie1 == current_image_data.cookie1 &&
- data->cookie2 == current_image_data.cookie2 &&
+ if (v->cookie1 == version_data.cookie1 &&
+ v->cookie2 == version_data.cookie2 &&
h->magic) { /* Corrupted header's magic is set to zero. */
snprintf(vers_str, sizeof(vers_str), "%d.%d.%d/%s",
- h->epoch_, h->major_, h->minor_,
- data->version);
+ h->epoch_, h->major_, h->minor_, v->version);
return vers_str;
}
default:
diff --git a/chip/mec1322/lfw/ec_lfw.c b/chip/mec1322/lfw/ec_lfw.c
index b99d33d011..6824d10686 100644
--- a/chip/mec1322/lfw/ec_lfw.c
+++ b/chip/mec1322/lfw/ec_lfw.c
@@ -256,7 +256,7 @@ void lfw_main()
spi_enable(CONFIG_SPI_FLASH_PORT, 1);
uart_puts("littlefw ");
- uart_puts(current_image_data.version);
+ uart_puts(version_data.version);
uart_puts("\n");
switch (system_get_image_copy()) {
diff --git a/chip/mec1322/lfw/ec_lfw.ld b/chip/mec1322/lfw/ec_lfw.ld
index adb8b30bba..55b5fda390 100644
--- a/chip/mec1322/lfw/ec_lfw.ld
+++ b/chip/mec1322/lfw/ec_lfw.ld
@@ -53,6 +53,4 @@ SECTIONS
. = ORIGIN(SRAM) + LENGTH(SRAM) - 1;
BYTE(0xFF); /* emit at least a byte to make linker happy */
}
-
- __image_size = LOADADDR(.text) + SIZEOF(.text) - ORIGIN(VECTOR);
}