lmb: only force on arches that use it
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
dac4d7e884
commit
a16028da63
|
@ -153,18 +153,6 @@ static boot_os_fn *boot_os[] = {
|
||||||
ulong load_addr = CONFIG_SYS_LOAD_ADDR; /* Default Load Address */
|
ulong load_addr = CONFIG_SYS_LOAD_ADDR; /* Default Load Address */
|
||||||
static bootm_headers_t images; /* pointers to os/initrd/fdt images */
|
static bootm_headers_t images; /* pointers to os/initrd/fdt images */
|
||||||
|
|
||||||
void __board_lmb_reserve(struct lmb *lmb)
|
|
||||||
{
|
|
||||||
/* please define platform specific board_lmb_reserve() */
|
|
||||||
}
|
|
||||||
void board_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__board_lmb_reserve")));
|
|
||||||
|
|
||||||
void __arch_lmb_reserve(struct lmb *lmb)
|
|
||||||
{
|
|
||||||
/* please define platform specific arch_lmb_reserve() */
|
|
||||||
}
|
|
||||||
void arch_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__arch_lmb_reserve")));
|
|
||||||
|
|
||||||
/* Allow for arch specific config before we boot */
|
/* Allow for arch specific config before we boot */
|
||||||
void __arch_preboot_os(void)
|
void __arch_preboot_os(void)
|
||||||
{
|
{
|
||||||
|
@ -200,15 +188,11 @@ void arch_preboot_os(void) __attribute__((weak, alias("__arch_preboot_os")));
|
||||||
# error Unknown CPU type
|
# error Unknown CPU type
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
static void bootm_start_lmb(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_LMB
|
||||||
ulong mem_start;
|
ulong mem_start;
|
||||||
phys_size_t mem_size;
|
phys_size_t mem_size;
|
||||||
void *os_hdr;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
memset ((void *)&images, 0, sizeof (images));
|
|
||||||
images.verify = getenv_yesno ("verify");
|
|
||||||
|
|
||||||
lmb_init(&images.lmb);
|
lmb_init(&images.lmb);
|
||||||
|
|
||||||
|
@ -219,6 +203,20 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
|
|
||||||
arch_lmb_reserve(&images.lmb);
|
arch_lmb_reserve(&images.lmb);
|
||||||
board_lmb_reserve(&images.lmb);
|
board_lmb_reserve(&images.lmb);
|
||||||
|
#else
|
||||||
|
# define lmb_reserve(lmb, base, size)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
|
{
|
||||||
|
void *os_hdr;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
memset ((void *)&images, 0, sizeof (images));
|
||||||
|
images.verify = getenv_yesno ("verify");
|
||||||
|
|
||||||
|
bootm_start_lmb();
|
||||||
|
|
||||||
/* get kernel image header, start address and length */
|
/* get kernel image header, start address and length */
|
||||||
os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
|
os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
|
||||||
|
|
|
@ -21,4 +21,6 @@
|
||||||
#ifndef _ASM_CONFIG_H_
|
#ifndef _ASM_CONFIG_H_
|
||||||
#define _ASM_CONFIG_H_
|
#define _ASM_CONFIG_H_
|
||||||
|
|
||||||
|
#define CONFIG_LMB
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#ifndef _ASM_CONFIG_H_
|
#ifndef _ASM_CONFIG_H_
|
||||||
#define _ASM_CONFIG_H_
|
#define _ASM_CONFIG_H_
|
||||||
|
|
||||||
|
#define CONFIG_LMB
|
||||||
|
|
||||||
#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)
|
||||||
#define CONFIG_MAX_MEM_MAPPED ((phys_size_t)2 << 30)
|
#define CONFIG_MAX_MEM_MAPPED ((phys_size_t)2 << 30)
|
||||||
|
|
|
@ -21,4 +21,6 @@
|
||||||
#ifndef _ASM_CONFIG_H_
|
#ifndef _ASM_CONFIG_H_
|
||||||
#define _ASM_CONFIG_H_
|
#define _ASM_CONFIG_H_
|
||||||
|
|
||||||
|
#define CONFIG_LMB
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -256,7 +256,7 @@ typedef struct bootm_headers {
|
||||||
#define BOOTM_STATE_OS_GO (0x00000080)
|
#define BOOTM_STATE_OS_GO (0x00000080)
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
#ifndef USE_HOSTCC
|
#ifdef CONFIG_LMB
|
||||||
struct lmb lmb; /* for memory mgmt */
|
struct lmb lmb; /* for memory mgmt */
|
||||||
#endif
|
#endif
|
||||||
} bootm_headers_t;
|
} bootm_headers_t;
|
||||||
|
|
|
@ -52,6 +52,10 @@ lmb_size_bytes(struct lmb_region *type, unsigned long region_nr)
|
||||||
{
|
{
|
||||||
return type->region[region_nr].size;
|
return type->region[region_nr].size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void board_lmb_reserve(struct lmb *lmb);
|
||||||
|
void arch_lmb_reserve(struct lmb *lmb);
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
#endif /* _LINUX_LMB_H */
|
#endif /* _LINUX_LMB_H */
|
||||||
|
|
|
@ -38,7 +38,7 @@ COBJS-y += ctype.o
|
||||||
COBJS-y += display_options.o
|
COBJS-y += display_options.o
|
||||||
COBJS-y += div64.o
|
COBJS-y += div64.o
|
||||||
COBJS-y += gunzip.o
|
COBJS-y += gunzip.o
|
||||||
COBJS-y += lmb.o
|
COBJS-$(CONFIG_LMB) += lmb.o
|
||||||
COBJS-y += ldiv.o
|
COBJS-y += ldiv.o
|
||||||
COBJS-$(CONFIG_MD5) += md5.o
|
COBJS-$(CONFIG_MD5) += md5.o
|
||||||
COBJS-y += net_utils.o
|
COBJS-y += net_utils.o
|
||||||
|
|
|
@ -334,3 +334,15 @@ int lmb_is_reserved(struct lmb *lmb, phys_addr_t addr)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __board_lmb_reserve(struct lmb *lmb)
|
||||||
|
{
|
||||||
|
/* please define platform specific board_lmb_reserve() */
|
||||||
|
}
|
||||||
|
void board_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__board_lmb_reserve")));
|
||||||
|
|
||||||
|
void __arch_lmb_reserve(struct lmb *lmb)
|
||||||
|
{
|
||||||
|
/* please define platform specific arch_lmb_reserve() */
|
||||||
|
}
|
||||||
|
void arch_lmb_reserve(struct lmb *lmb) __attribute__((weak, alias("__arch_lmb_reserve")));
|
||||||
|
|
Loading…
Reference in New Issue