9
0
Fork 0

common: split out meminfo output and make it optional

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Jan Luebbe 2012-09-05 17:52:12 +02:00 committed by Sascha Hauer
parent 25fc2ca049
commit ef01e97f6c
5 changed files with 30 additions and 23 deletions

View File

@ -96,6 +96,10 @@ config BANNER
bool "display banner"
default y
config MEMINFO
bool "display memory info"
default y
config ENVIRONMENT_VARIABLES
bool "environment variables support"

View File

@ -19,6 +19,7 @@ obj-$(CONFIG_MALLOC_TLSF) += tlsf.o
obj-$(CONFIG_MALLOC_DUMMY) += dummy_malloc.o
obj-y += clock.o
obj-$(CONFIG_BANNER) += version.o
obj-$(CONFIG_MEMINFO) += meminfo.o
obj-$(CONFIG_COMMAND_SUPPORT) += command.o
obj-$(CONFIG_CONSOLE_FULL) += console.o
obj-$(CONFIG_CONSOLE_SIMPLE) += console_simple.o

23
common/meminfo.c Normal file
View File

@ -0,0 +1,23 @@
#include <common.h>
#include <init.h>
#include <memory.h>
#include <asm-generic/memory_layout.h>
static int display_meminfo(void)
{
ulong mstart = mem_malloc_start();
ulong mend = mem_malloc_end();
ulong msize = mend - mstart + 1;
debug("barebox code: 0x%p -> 0x%p\n", _stext, _etext);
debug("bss segment: 0x%p -> 0x%p\n", __bss_start, __bss_stop);
printf("malloc space: 0x%08lx -> 0x%08lx (size %s)\n",
mstart, mend, size_human_readable(msize));
#ifdef CONFIG_ARM
printf("stack space: 0x%08x -> 0x%08x (size %s)\n",
STACK_BASE, STACK_BASE + STACK_SIZE,
size_human_readable(STACK_SIZE));
#endif
return 0;
}
late_initcall(display_meminfo);

View File

@ -33,34 +33,15 @@
#include <init.h>
#include <command.h>
#include <malloc.h>
#include <memory.h>
#include <debug_ll.h>
#include <fs.h>
#include <linux/stat.h>
#include <environment.h>
#include <asm-generic/memory_layout.h>
#include <asm/sections.h>
extern initcall_t __barebox_initcalls_start[], __barebox_early_initcalls_end[],
__barebox_initcalls_end[];
static void display_meminfo(void)
{
ulong mstart = mem_malloc_start();
ulong mend = mem_malloc_end();
ulong msize = mend - mstart + 1;
debug("barebox code: 0x%p -> 0x%p\n", _stext, _etext);
debug("bss segment: 0x%p -> 0x%p\n", __bss_start, __bss_stop);
printf("Malloc space: 0x%08lx -> 0x%08lx (size %s)\n",
mstart, mend, size_human_readable(msize));
#ifdef CONFIG_ARM
printf("Stack space : 0x%08x -> 0x%08x (size %s)\n",
STACK_BASE, STACK_BASE + STACK_SIZE,
size_human_readable(STACK_SIZE));
#endif
}
#ifdef CONFIG_DEFAULT_ENVIRONMENT
#include <generated/barebox_default_env.h>
@ -128,8 +109,6 @@ void start_barebox (void)
debug("initcalls done\n");
display_meminfo();
#ifdef CONFIG_ENV_HANDLING
if (envfs_load(default_environment_path, "/env")) {
#ifdef CONFIG_DEFAULT_ENVIRONMENT

View File

@ -150,11 +150,11 @@ static inline void dump_stack(void)
#define MEMAREA_SIZE_SPECIFIED 1
struct memarea_info {
struct device_d *device;
struct device_d *device;
unsigned long start;
unsigned long end;
unsigned long size;
unsigned long flags;
unsigned long flags;
};
int parse_area_spec(const char *str, loff_t *start, loff_t *size);