boot: change some arch ifdefs to feature ifdefs

The routines boot_ramdisk_high, boot_get_cmdline and boot_get_kbd
are currently enabled by various combinations of CONFIG_M68K,
CONFIG_POWERPC and CONFIG_SPARC.

Use CONFIG_SYS_BOOT_<FEATURE> defines instead.

CONFIG_SYS_BOOT_RAMDISK_HIGH
CONFIG_SYS_BOOT_GET_CMDLINE
CONFIG_SYS_BOOT_GET_KBD

Define these as appropriate in arch/include/asm/config.h files.

Signed-off-by: John Rigby <john.rigby@linaro.org>
Acked-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
John Rigby 2010-10-13 13:57:35 -06:00 committed by Wolfgang Denk
parent 5a75e12107
commit fca43cc801
7 changed files with 34 additions and 9 deletions

13
README
View File

@ -2275,6 +2275,19 @@ Configuration Settings:
all data for the Linux kernel must be between "bootm_low" all data for the Linux kernel must be between "bootm_low"
and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. 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: - CONFIG_SYS_MAX_FLASH_BANKS:
Max number of Flash memory banks Max number of Flash memory banks

View File

@ -22,5 +22,8 @@
#define _ASM_CONFIG_H_ #define _ASM_CONFIG_H_
#define CONFIG_LMB #define CONFIG_LMB
#define CONFIG_SYS_BOOT_RAMDISK_HIGH
#define CONFIG_SYS_BOOT_GET_CMDLINE
#define CONFIG_SYS_BOOT_GET_KBD
#endif #endif

View File

@ -22,6 +22,9 @@
#define _ASM_CONFIG_H_ #define _ASM_CONFIG_H_
#define CONFIG_LMB #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 #ifndef CONFIG_MAX_MEM_MAPPED
#if defined(CONFIG_4xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx) #if defined(CONFIG_4xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)

View File

@ -22,5 +22,6 @@
#define _ASM_CONFIG_H_ #define _ASM_CONFIG_H_
#define CONFIG_LMB #define CONFIG_LMB
#define CONFIG_SYS_BOOT_RAMDISK_HIGH
#endif #endif

View File

@ -472,7 +472,7 @@ static int bootm_start_standalone(ulong iflag, int argc, char * const argv[])
static cmd_tbl_t cmd_bootm_sub[] = { static cmd_tbl_t cmd_bootm_sub[] = {
U_BOOT_CMD_MKENT(start, 0, 1, (void *)BOOTM_STATE_START, "", ""), U_BOOT_CMD_MKENT(start, 0, 1, (void *)BOOTM_STATE_START, "", ""),
U_BOOT_CMD_MKENT(loados, 0, 1, (void *)BOOTM_STATE_LOADOS, "", ""), 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, "", ""), U_BOOT_CMD_MKENT(ramdisk, 0, 1, (void *)BOOTM_STATE_RAMDISK, "", ""),
#endif #endif
#ifdef CONFIG_OF_LIBFDT #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, lmb_reserve(&images.lmb, images.os.load,
(load_end - images.os.load)); (load_end - images.os.load));
break; break;
#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) #ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
case BOOTM_STATE_RAMDISK: case BOOTM_STATE_RAMDISK:
{ {
ulong rd_len = images.rd_end - images.rd_start; ulong rd_len = images.rd_end - images.rd_start;

View File

@ -992,7 +992,7 @@ int boot_get_ramdisk (int argc, char * const argv[], bootm_headers_t *images,
return 0; return 0;
} }
#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) #ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
/** /**
* boot_ramdisk_high - relocate init ramdisk * boot_ramdisk_high - relocate init ramdisk
* @lmb: pointer to lmb handle, will be used for memory mgmt * @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: error:
return -1; return -1;
} }
#endif /* defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_SPARC) */ #endif /* CONFIG_SYS_BOOT_RAMDISK_HIGH */
#ifdef CONFIG_OF_LIBFDT #ifdef CONFIG_OF_LIBFDT
static void fdt_error (const char *msg) static void fdt_error (const char *msg)
@ -1588,7 +1588,7 @@ error:
} }
#endif /* CONFIG_OF_LIBFDT */ #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 * boot_get_cmdline - allocate and initialize kernel cmdline
* @lmb: pointer to lmb handle, will be used for memory mgmt * @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; 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 * boot_get_kbd - allocate and initialize kernel copy of board info
* @lmb: pointer to lmb handle, will be used for memory mgmt * @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; return 0;
} }
#endif /* CONFIG_PPC || CONFIG_M68K */ #endif /* CONFIG_SYS_BOOT_GET_KBD */
#endif /* !USE_HOSTCC */ #endif /* !USE_HOSTCC */
#if defined(CONFIG_FIT) #if defined(CONFIG_FIT)

View File

@ -340,14 +340,17 @@ int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base,
char **of_flat_tree, ulong *of_size); char **of_flat_tree, ulong *of_size);
#endif #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, int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,
ulong *initrd_start, ulong *initrd_end); 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, int boot_get_cmdline (struct lmb *lmb, ulong *cmd_start, ulong *cmd_end,
ulong bootmap_base); 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); 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 */ #endif /* !USE_HOSTCC */
/*******************************************************************/ /*******************************************************************/