浏览代码

bootstage: Provide a separate record count setting for SPL

With SPL we often have limited memory and do not need very many bootstage
records. Add a separate Kconfig option for SPL.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass 7 年之前
父节点
当前提交
d69bb0ecbf
共有 2 个文件被更改,包括 10 次插入3 次删除
  1. 7 0
      common/Kconfig
  2. 3 3
      common/bootstage.c

+ 7 - 0
common/Kconfig

@@ -53,6 +53,13 @@ config BOOTSTAGE_RECORD_COUNT
 	  This is the size of the bootstage record list and is the maximum
 	  This is the size of the bootstage record list and is the maximum
 	  number of bootstage records that can be recorded.
 	  number of bootstage records that can be recorded.
 
 
+config SPL_BOOTSTAGE_RECORD_COUNT
+	int "Number of boot stage records to store for SPL"
+	default 5
+	help
+	  This is the size of the bootstage record list and is the maximum
+	  number of bootstage records that can be recorded.
+
 config BOOTSTAGE_FDT
 config BOOTSTAGE_FDT
 	bool "Store boot timing information in the OS device tree"
 	bool "Store boot timing information in the OS device tree"
 	depends on BOOTSTAGE
 	depends on BOOTSTAGE

+ 3 - 3
common/bootstage.c

@@ -18,7 +18,7 @@
 DECLARE_GLOBAL_DATA_PTR;
 DECLARE_GLOBAL_DATA_PTR;
 
 
 enum {
 enum {
-	RECORD_COUNT = CONFIG_BOOTSTAGE_RECORD_COUNT,
+	RECORD_COUNT = CONFIG_VAL(BOOTSTAGE_RECORD_COUNT),
 };
 };
 
 
 struct bootstage_record {
 struct bootstage_record {
@@ -327,7 +327,7 @@ void bootstage_report(void)
 	}
 	}
 	if (data->rec_count > RECORD_COUNT)
 	if (data->rec_count > RECORD_COUNT)
 		printf("Overflowed internal boot id table by %d entries\n"
 		printf("Overflowed internal boot id table by %d entries\n"
-		       "- please increase CONFIG_BOOTSTAGE_RECORD_COUNT\n",
+		       "Please increase CONFIG_(SPL_)BOOTSTAGE_RECORD_COUNT\n",
 		       data->rec_count - RECORD_COUNT);
 		       data->rec_count - RECORD_COUNT);
 
 
 	puts("\nAccumulated time:\n");
 	puts("\nAccumulated time:\n");
@@ -456,7 +456,7 @@ int bootstage_unstash(const void *base, int size)
 
 
 	if (data->rec_count + hdr->count > RECORD_COUNT) {
 	if (data->rec_count + hdr->count > RECORD_COUNT) {
 		debug("%s: Bootstage has %d records, we have space for %d\n"
 		debug("%s: Bootstage has %d records, we have space for %d\n"
-			"- please increase CONFIG_BOOTSTAGE_RECORD_COUNT\n",
+			"Please increase CONFIG_(SPL_)BOOTSTAGE_RECORD_COUNT\n",
 		      __func__, hdr->count, RECORD_COUNT - data->rec_count);
 		      __func__, hdr->count, RECORD_COUNT - data->rec_count);
 		return -ENOSPC;
 		return -ENOSPC;
 	}
 	}