diff options
| -rw-r--r-- | README | 13 | ||||
| -rw-r--r-- | arch/m68k/include/asm/config.h | 3 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/config.h | 3 | ||||
| -rw-r--r-- | arch/sparc/include/asm/config.h | 1 | ||||
| -rw-r--r-- | common/cmd_bootm.c | 4 | ||||
| -rw-r--r-- | common/image.c | 10 | ||||
| -rw-r--r-- | include/image.h | 9 | 
7 files changed, 34 insertions, 9 deletions
| @@ -2275,6 +2275,19 @@ Configuration Settings:  		all data for the Linux kernel must be between "bootm_low"  		and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. +- CONFIG_SYS_BOOT_RAMDISK_HIGH: +		Enable initrd_high functionality.  If defined then the +		initrd_high feature is enabled and the bootm ramdisk subcommand +		is enabled. + +- CONFIG_SYS_BOOT_GET_CMDLINE: +		Enables allocating and saving kernel cmdline in space between +		"bootm_low" and "bootm_low" + BOOTMAPSZ. + +- CONFIG_SYS_BOOT_GET_KBD: +		Enables allocating and saving a kernel copy of the bd_info in +		space between "bootm_low" and "bootm_low" + BOOTMAPSZ. +  - CONFIG_SYS_MAX_FLASH_BANKS:  		Max number of Flash memory banks diff --git a/arch/m68k/include/asm/config.h b/arch/m68k/include/asm/config.h index 36438be11..ec2cc16be 100644 --- a/arch/m68k/include/asm/config.h +++ b/arch/m68k/include/asm/config.h @@ -22,5 +22,8 @@  #define _ASM_CONFIG_H_  #define CONFIG_LMB +#define CONFIG_SYS_BOOT_RAMDISK_HIGH +#define CONFIG_SYS_BOOT_GET_CMDLINE +#define CONFIG_SYS_BOOT_GET_KBD  #endif diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h index d0986570e..a1942ca2b 100644 --- a/arch/powerpc/include/asm/config.h +++ b/arch/powerpc/include/asm/config.h @@ -22,6 +22,9 @@  #define _ASM_CONFIG_H_  #define CONFIG_LMB +#define CONFIG_SYS_BOOT_RAMDISK_HIGH +#define CONFIG_SYS_BOOT_GET_CMDLINE +#define CONFIG_SYS_BOOT_GET_KBD  #ifndef CONFIG_MAX_MEM_MAPPED  #if defined(CONFIG_4xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx) diff --git a/arch/sparc/include/asm/config.h b/arch/sparc/include/asm/config.h index 36438be11..6ddc3494c 100644 --- a/arch/sparc/include/asm/config.h +++ b/arch/sparc/include/asm/config.h @@ -22,5 +22,6 @@  #define _ASM_CONFIG_H_  #define CONFIG_LMB +#define CONFIG_SYS_BOOT_RAMDISK_HIGH  #endif diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 25bc39ceb..ce3c77c61 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -472,7 +472,7 @@ static int bootm_start_standalone(ulong iflag, int argc, char * const argv[])  static cmd_tbl_t cmd_bootm_sub[] = {  	U_BOOT_CMD_MKENT(start, 0, 1, (void *)BOOTM_STATE_START, "", ""),  	U_BOOT_CMD_MKENT(loados, 0, 1, (void *)BOOTM_STATE_LOADOS, "", ""), -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) +#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH  	U_BOOT_CMD_MKENT(ramdisk, 0, 1, (void *)BOOTM_STATE_RAMDISK, "", ""),  #endif  #ifdef CONFIG_OF_LIBFDT @@ -528,7 +528,7 @@ int do_bootm_subcommand (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv  			lmb_reserve(&images.lmb, images.os.load,  					(load_end - images.os.load));  			break; -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) +#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH  		case BOOTM_STATE_RAMDISK:  		{  			ulong rd_len = images.rd_end - images.rd_start; diff --git a/common/image.c b/common/image.c index dda302566..385464d3e 100644 --- a/common/image.c +++ b/common/image.c @@ -992,7 +992,7 @@ int boot_get_ramdisk (int argc, char * const argv[], bootm_headers_t *images,  	return 0;  } -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) +#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH  /**   * boot_ramdisk_high - relocate init ramdisk   * @lmb: pointer to lmb handle, will be used for memory mgmt @@ -1081,7 +1081,7 @@ int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,  error:  	return -1;  } -#endif /* defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) */ +#endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */  #ifdef CONFIG_OF_LIBFDT  static void fdt_error (const char *msg) @@ -1588,7 +1588,7 @@ error:  }  #endif /* CONFIG_OF_LIBFDT */ -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) +#ifdef CONFIG_SYS_BOOT_GET_CMDLINE  /**   * boot_get_cmdline - allocate and initialize kernel cmdline   * @lmb: pointer to lmb handle, will be used for memory mgmt @@ -1630,7 +1630,9 @@ int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end,  	return 0;  } +#endif /* CONFIG_SYS_BOOT_GET_CMDLINE */ +#ifdef CONFIG_SYS_BOOT_GET_KBD  /**   * boot_get_kbd - allocate and initialize kernel copy of board info   * @lmb: pointer to lmb handle, will be used for memory mgmt @@ -1663,7 +1665,7 @@ int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base)  	return 0;  } -#endif /* CONFIG_PPC || CONFIG_M68K */ +#endif /* CONFIG_SYS_BOOT_GET_KBD */  #endif /* !USE_HOSTCC */  #if defined(CONFIG_FIT) diff --git a/include/image.h b/include/image.h index 18a9f0e96..49d62805c 100644 --- a/include/image.h +++ b/include/image.h @@ -340,14 +340,17 @@ int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base,  		char **of_flat_tree, ulong *of_size);  #endif -#if defined(CONFIG_PPC) || defined(CONFIG_M68K) +#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH  int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,  		  ulong *initrd_start, ulong *initrd_end); - +#endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */ +#ifdef CONFIG_SYS_BOOT_GET_CMDLINE  int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end,  			ulong bootmap_base); +#endif /* CONFIG_SYS_BOOT_GET_CMDLINE */ +#ifdef CONFIG_SYS_BOOT_GET_KBD  int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base); -#endif /* CONFIG_PPC || CONFIG_M68K */ +#endif /* CONFIG_SYS_BOOT_GET_KBD */  #endif /* !USE_HOSTCC */  /*******************************************************************/ |