summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorji.luo <ji.luo@nxp.com>2017-10-10 18:22:02 +0800
committerJason Liu <jason.hui.liu@nxp.com>2017-11-03 02:37:28 +0800
commita89c0efcca55dc8bab4c8d7af806f261f92f39e8 (patch)
treec996c3620eb211a2f7d101c7047c4457dac787d0 /common
parent36a5dfa4d86c0a56fd91838f58cb7cd0dfce1c6e (diff)
Pass bootloader metrics to kernel by kernel cmdline
Pass bootloader metrics (nBLL, nBLE, KD, KL, AVB, ODT, SW) to kernel by kernel cmdline. Change-Id: Ibabff6844be86d028548d1ad697d948ef20590f3 Signed-off-by: ji.luo <ji.luo@nxp.com>
Diffstat (limited to 'common')
-rw-r--r--common/image-android.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/common/image-android.c b/common/image-android.c
index d8407d4ed5..2d2526def6 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -57,6 +57,7 @@ static ulong android_image_get_kernel_addr(const struct andr_img_hdr *hdr)
int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
ulong *os_data, ulong *os_len)
{
+ extern boot_metric metrics;
u32 kernel_addr = android_image_get_kernel_addr(hdr);
/*
@@ -73,7 +74,7 @@ int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
kernel_addr, DIV_ROUND_UP(hdr->kernel_size, 1024));
char newbootargs[512] = {0};
- char commandline[1024] = {0};
+ char commandline[2048] = {0};
char *bootargs = getenv("bootargs");
if (bootargs) {
@@ -122,6 +123,14 @@ int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify,
strcat(commandline, newbootargs);
}
+ /* boot metric variables */
+ metrics.ble_1 = get_timer(0);
+ sprintf(newbootargs,
+ " androidboot.boottime=1BLL:%d,1BLE:%d,KL:%d,KD:%d,AVB:%d,ODT:%d,SW:%d",
+ metrics.bll_1, metrics.ble_1, metrics.kl, metrics.kd, metrics.avb,
+ metrics.odt, metrics.sw);
+ strcat(commandline, newbootargs);
+
#ifdef CONFIG_AVB_SUPPORT
/* secondary cmdline added by avb */
char *bootargs_sec = getenv("bootargs_sec");