t124: Use timestamp region for storing pre-cbmem timestamps

BUG=None
BRANCH=None
TEST=Compiles successfully for nyan, big and blaze.

Change-Id: I9481de8659caedcd81873a761efc152655c5b55a
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/227242
Reviewed-by: Julius Werner <jwerner@chromium.org>
Commit-Queue: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
This commit is contained in:
Furquan Shaikh 2014-11-03 13:59:44 -08:00 committed by chrome-internal-fetch
commit 3fb94b7fd1
9 changed files with 17 additions and 28 deletions

View file

@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y
CONFIG_BOARD_GOOGLE_NYAN=y
CONFIG_COREBOOT_ROMSIZE_KB_1024=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_CONSOLE_CBMEM=y
CONFIG_VBOOT_VERIFY_FIRMWARE=y
CONFIG_FLASHMAP_OFFSET=0x00100000

View file

@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y
CONFIG_BOARD_GOOGLE_NYAN_BIG=y
CONFIG_COREBOOT_ROMSIZE_KB_1024=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_CONSOLE_CBMEM=y
CONFIG_VBOOT_VERIFY_FIRMWARE=y
CONFIG_FLASHMAP_OFFSET=0x00100000

View file

@ -2,7 +2,6 @@ CONFIG_VENDOR_GOOGLE=y
CONFIG_BOARD_GOOGLE_NYAN_BLAZE=y
CONFIG_COREBOOT_ROMSIZE_KB_1024=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_CONSOLE_CBMEM=y
CONFIG_VBOOT_VERIFY_FIRMWARE=y
CONFIG_FLASHMAP_OFFSET=0x00100000

View file

@ -46,9 +46,7 @@
static void __attribute__((noinline)) romstage(void)
{
#if CONFIG_COLLECT_TIMESTAMPS
uint64_t romstage_start_time = timestamp_get();
#endif
timestamp_add_now(TS_START_ROMSTAGE);
console_init();
exception_init();
@ -89,9 +87,6 @@ static void __attribute__((noinline)) romstage(void)
cbmem_initialize_empty();
timestamp_init(0);
timestamp_add(TS_START_ROMSTAGE, romstage_start_time);
early_mainboard_init();
#if CONFIG_CONSOLE_CBMEM
@ -100,10 +95,10 @@ static void __attribute__((noinline)) romstage(void)
vboot_verify_firmware(romstage_handoff_find_or_add());
timestamp_add(TS_START_COPYRAM, timestamp_get());
timestamp_add_now(TS_START_COPYRAM);
void *entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA,
"fallback/ramstage");
timestamp_add(TS_END_COPYRAM, timestamp_get());
timestamp_add_now(TS_END_COPYRAM);
stage_exit(entry);
}

View file

@ -46,9 +46,7 @@
static void __attribute__((noinline)) romstage(void)
{
#if CONFIG_COLLECT_TIMESTAMPS
uint64_t romstage_start_time = timestamp_get();
#endif
timestamp_add_now(TS_START_ROMSTAGE);
console_init();
exception_init();
@ -89,9 +87,6 @@ static void __attribute__((noinline)) romstage(void)
cbmem_initialize_empty();
timestamp_init(0);
timestamp_add(TS_START_ROMSTAGE, romstage_start_time);
early_mainboard_init();
#if CONFIG_CONSOLE_CBMEM
@ -100,10 +95,10 @@ static void __attribute__((noinline)) romstage(void)
vboot_verify_firmware(romstage_handoff_find_or_add());
timestamp_add(TS_START_COPYRAM, timestamp_get());
timestamp_add_now(TS_START_COPYRAM);
void *entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA,
"fallback/ramstage");
timestamp_add(TS_END_COPYRAM, timestamp_get());
timestamp_add_now(TS_END_COPYRAM);
stage_exit(entry);
}

View file

@ -47,9 +47,8 @@
static void __attribute__((noinline)) romstage(void)
{
void *entry = NULL;
#if CONFIG_COLLECT_TIMESTAMPS
uint64_t romstage_start_time = timestamp_get();
#endif
timestamp_add_now(TS_START_ROMSTAGE);
console_init();
exception_init();
@ -93,9 +92,6 @@ static void __attribute__((noinline)) romstage(void)
cbmem_initialize_empty();
timestamp_init(0);
timestamp_add(TS_START_ROMSTAGE, romstage_start_time);
#if CONFIG_CONSOLE_CBMEM
cbmemc_reinit();
#endif
@ -108,10 +104,10 @@ static void __attribute__((noinline)) romstage(void)
#endif
if (entry == NULL) {
timestamp_add(TS_START_COPYRAM, timestamp_get());
timestamp_add_now(TS_START_COPYRAM);
entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA,
CONFIG_CBFS_PREFIX "/ramstage");
timestamp_add(TS_END_COPYRAM, timestamp_get());
timestamp_add_now(TS_END_COPYRAM);
if (entry == (void *)-1)
die("failed to load ramstage\n");
}

View file

@ -15,6 +15,8 @@ config SOC_NVIDIA_TEGRA124
select ARCH_ROMSTAGE_ARM_V7
select ARCH_RAMSTAGE_ARM_V7
select ARM_LPAE
select COLLECT_TIMESTAMPS
select HAS_PRECBMEM_TIMESTAMP_REGION
if SOC_NVIDIA_TEGRA124

View file

@ -27,6 +27,7 @@
#include <soc/nvidia/tegra/apbmisc.h>
#include <soc/pinmux.h>
#include <soc/power.h>
#include <timestamp.h>
#include <vendorcode/google/chromeos/chromeos.h>
void main(void)
@ -61,6 +62,8 @@ void main(void)
clock_init();
timestamp_early_init(0);
bootblock_mainboard_init();
pinmux_set_config(PINMUX_CORE_PWR_REQ_INDEX,

View file

@ -35,7 +35,8 @@ SECTIONS
PRERAM_CBMEM_CONSOLE(0x40004020, 8K - 32)
PRERAM_CBFS_CACHE(0x40006000, 16K)
VBOOT2_WORK(0x4000A000, 16K)
STACK(0x4000E000, 8K)
STACK(0x4000E000, 7K)
TIMESTAMP(0x4000FC00, 1K)
BOOTBLOCK(0x40010000, 24K)
VERSTAGE(0x40016000, 72K)
ROMSTAGE(0x40028000, 96K)