diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-12-01 21:47:23 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-12-03 10:09:29 +0100 |
commit | 32f163f67c10ff7415baee2d022459cc859d84b1 (patch) | |
tree | ecee4cc9bbc1dbf698a56133705a3dbb6d23cad5 /commands | |
parent | 200ae6b4eef9f6041016887f71fc01c5daee6f69 (diff) | |
download | barebox-32f163f67c10ff7415baee2d022459cc859d84b1.tar.gz barebox-32f163f67c10ff7415baee2d022459cc859d84b1.tar.xz |
add iomem command to show iomem usage
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
-rw-r--r-- | commands/Kconfig | 7 | ||||
-rw-r--r-- | commands/Makefile | 1 | ||||
-rw-r--r-- | commands/iomem.c | 56 |
3 files changed, 64 insertions, 0 deletions
diff --git a/commands/Kconfig b/commands/Kconfig index c2492fa6c9..2badea3b7b 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -215,6 +215,13 @@ config CMD_MEMINFO tristate prompt "meminfo" +config CMD_IOMEM + tristate + prompt "iomem" + help + Show information about iomem usage. Pendant to 'cat /proc/iomem' + under Linux. + config CMD_MEMORY bool default y diff --git a/commands/Makefile b/commands/Makefile index f82dcfa8dd..e95fdc375d 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -60,3 +60,4 @@ obj-$(CONFIG_CMD_USB) += usb.o obj-$(CONFIG_CMD_TIME) += time.o obj-$(CONFIG_CMD_OFTREE) += oftree.o obj-$(CONFIG_CMD_MAGICVAR) += magicvar.o +obj-$(CONFIG_CMD_IOMEM) += iomem.o diff --git a/commands/iomem.c b/commands/iomem.c new file mode 100644 index 0000000000..78566c1f5b --- /dev/null +++ b/commands/iomem.c @@ -0,0 +1,56 @@ +/* + * iomem.c - barebox iomem command + * + * Copyright (c) 2011 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation. + */ +#include <common.h> +#include <command.h> + +static void __print_resources(struct resource *res, int indent) +{ + struct resource *r; + int i; + + for (i = 0; i < indent; i++) + printf(" "); + + printf("0x%08x - 0x%08x (size 0x%08x) %s\n", res->start, + res->start + res->size - 1, + res->size, res->name); + + list_for_each_entry(r, &res->children, sibling) + __print_resources(r, indent + 1); +} + +static void print_resources(struct resource *res) +{ + __print_resources(res, 0); +} + +static int do_iomem(struct command *cmdtp, int argc, char *argv[]) +{ + print_resources(&iomem_resource); + + return 0; +} + +BAREBOX_CMD_START(iomem) + .cmd = do_iomem, + .usage = "show iomem usage", +BAREBOX_CMD_END |