mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
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
8 changed files with 40 additions and 20 deletions
|
@ -153,18 +153,6 @@ static boot_os_fn *boot_os[] = {
|
|||
ulong load_addr = CONFIG_SYS_LOAD_ADDR; /* Default Load Address */
|
||||
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 */
|
||||
void __arch_preboot_os(void)
|
||||
{
|
||||
|
@ -200,15 +188,11 @@ void arch_preboot_os(void) __attribute__((weak, alias("__arch_preboot_os")));
|
|||
# error Unknown CPU type
|
||||
#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;
|
||||
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);
|
||||
|
||||
|
@ -219,6 +203,20 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||
|
||||
arch_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 */
|
||||
os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
|
||||
|
|
|
@ -21,4 +21,6 @@
|
|||
#ifndef _ASM_CONFIG_H_
|
||||
#define _ASM_CONFIG_H_
|
||||
|
||||
#define CONFIG_LMB
|
||||
|
||||
#endif
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#ifndef _ASM_CONFIG_H_
|
||||
#define _ASM_CONFIG_H_
|
||||
|
||||
#define CONFIG_LMB
|
||||
|
||||
#ifndef CONFIG_MAX_MEM_MAPPED
|
||||
#if defined(CONFIG_4xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
|
||||
#define CONFIG_MAX_MEM_MAPPED ((phys_size_t)2 << 30)
|
||||
|
|
|
@ -21,4 +21,6 @@
|
|||
#ifndef _ASM_CONFIG_H_
|
||||
#define _ASM_CONFIG_H_
|
||||
|
||||
#define CONFIG_LMB
|
||||
|
||||
#endif
|
||||
|
|
|
@ -256,7 +256,7 @@ typedef struct bootm_headers {
|
|||
#define BOOTM_STATE_OS_GO (0x00000080)
|
||||
int state;
|
||||
|
||||
#ifndef USE_HOSTCC
|
||||
#ifdef CONFIG_LMB
|
||||
struct lmb lmb; /* for memory mgmt */
|
||||
#endif
|
||||
} bootm_headers_t;
|
||||
|
|
|
@ -52,6 +52,10 @@ lmb_size_bytes(struct lmb_region *type, unsigned long region_nr)
|
|||
{
|
||||
return type->region[region_nr].size;
|
||||
}
|
||||
|
||||
void board_lmb_reserve(struct lmb *lmb);
|
||||
void arch_lmb_reserve(struct lmb *lmb);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _LINUX_LMB_H */
|
||||
|
|
|
@ -38,7 +38,7 @@ COBJS-y += ctype.o
|
|||
COBJS-y += display_options.o
|
||||
COBJS-y += div64.o
|
||||
COBJS-y += gunzip.o
|
||||
COBJS-y += lmb.o
|
||||
COBJS-$(CONFIG_LMB) += lmb.o
|
||||
COBJS-y += ldiv.o
|
||||
COBJS-$(CONFIG_MD5) += md5.o
|
||||
COBJS-y += net_utils.o
|
||||
|
|
|
@ -334,3 +334,15 @@ int lmb_is_reserved(struct lmb *lmb, phys_addr_t addr)
|
|||
}
|
||||
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 a new issue