浏览代码

x86: Add a CBMEM timestamp generated right before the kernel startup.

To maintain the initialization state of the timestamp facility, thesq
pointer to the CBMEM section containing the timestamp table should be
kept in the .data section (so that it is maintained across u-boot
relocation).

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Vadim Bendebury 12 年之前
父节点
当前提交
3cdc18a8de
共有 2 个文件被更改,包括 7 次插入0 次删除
  1. 1 0
      arch/x86/include/asm/arch-coreboot/timestamp.h
  2. 6 0
      arch/x86/lib/zimage.c

+ 1 - 0
arch/x86/include/asm/arch-coreboot/timestamp.h

@@ -42,6 +42,7 @@ enum timestamp_id {
 
 
 	/* U-Boot entry IDs start at 1000 */
 	/* U-Boot entry IDs start at 1000 */
 	TS_U_BOOT_INITTED = 1000, /* This is where u-boot starts */
 	TS_U_BOOT_INITTED = 1000, /* This is where u-boot starts */
+	TS_U_BOOT_START_KERNEL = 1100, /* Right before jumping to kernel. */
 };
 };
 
 
 void timestamp_init(void);
 void timestamp_init(void);

+ 6 - 0
arch/x86/lib/zimage.c

@@ -36,6 +36,9 @@
 #include <asm/realmode.h>
 #include <asm/realmode.h>
 #include <asm/byteorder.h>
 #include <asm/byteorder.h>
 #include <asm/bootparam.h>
 #include <asm/bootparam.h>
+#ifdef CONFIG_SYS_COREBOOT
+#include <asm/arch/timestamp.h>
+#endif
 
 
 /*
 /*
  * Memory lay-out:
  * Memory lay-out:
@@ -283,6 +286,9 @@ void boot_zimage(void *setup_base, void *load_address)
 {
 {
 	printf("\nStarting kernel ...\n\n");
 	printf("\nStarting kernel ...\n\n");
 
 
+#ifdef CONFIG_SYS_COREBOOT
+	timestamp_add_now(TS_U_BOOT_START_KERNEL);
+#endif
 #if defined CONFIG_ZBOOT_32
 #if defined CONFIG_ZBOOT_32
 	/*
 	/*
 	 * Set %ebx, %ebp, and %edi to 0, %esi to point to the boot_params
 	 * Set %ebx, %ebp, and %edi to 0, %esi to point to the boot_params