[PATCH 6/6] commands: add new memtest command
Alexander Aring
alex.aring at gmail.com
Thu Feb 7 10:42:43 EST 2013
Hi,
On Thu, Feb 07, 2013 at 01:01:41PM +0100, Sascha Hauer wrote:
> On Thu, Feb 07, 2013 at 12:20:06PM +0100, Alexander Aring wrote:
> > On Thu, Feb 07, 2013 at 11:56:07AM +0100, Marc Kleine-Budde wrote:
> > > On 02/07/2013 11:45 AM, Alexander Aring wrote:
> > > > Add new memtest command which can enable or disable caching
> > > > on non allocted barebox regions(test area).
> > > >
> > > > This command simply parse and check parameters then call
> > > > the mem_test routine.
> > > >
> > > > If no address parameters are given then mem_test will call
> > > > for each memory bank.
> > > >
> > > > Signed-off-by: Alexander Aring <alex.aring at gmail.com>
> > >
> > > A howto-get-rid-of-ifdef nitpick inline
> > >
> > > > ---
> > > > commands/Kconfig | 10 ++
> > > > commands/Makefile | 1 +
> > > > commands/memtest.c | 362 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> > > > 3 files changed, 373 insertions(+)
> > > > create mode 100644 commands/memtest.c
> > > >
> > > > diff --git a/commands/Kconfig b/commands/Kconfig
> > > > index 7cc759c..d158c3f 100644
> > > > --- a/commands/Kconfig
> > > > +++ b/commands/Kconfig
> > > > @@ -516,6 +516,16 @@ config CMD_NANDTEST
> > > > select PARTITION_NEED_MTD
> > > > prompt "nandtest"
> > > >
> > > > +config CMD_MEMTEST
> > > > + tristate
> > > > + select MEMTEST
> > > > + prompt "memtest"
> > > > + help
> > > > + This command enables a memtest to test installed memory.
> > > > + During this test allocated iomem regions will be skipped.
> > > > + If tested architecture has MMU with PTE flags support,
> > > > + caching can be set enabled or disabled.
> > > > +
> > > > endmenu
> > > >
> > > > menu "video command"
> > > > diff --git a/commands/Makefile b/commands/Makefile
> > > > index 393ba51..b39b489 100644
> > > > --- a/commands/Makefile
> > > > +++ b/commands/Makefile
> > > > @@ -7,6 +7,7 @@ obj-$(CONFIG_CMD_LOADY) += loadxy.o
> > > > obj-$(CONFIG_CMD_LOADS) += loads.o
> > > > obj-$(CONFIG_CMD_ECHO) += echo.o
> > > > obj-$(CONFIG_CMD_MEMORY) += mem.o
> > > > +obj-$(CONFIG_CMD_MEMTEST) += memtest.o
> > > > obj-$(CONFIG_CMD_EDIT) += edit.o
> > > > obj-$(CONFIG_CMD_EXEC) += exec.o
> > > > obj-$(CONFIG_CMD_SLEEP) += sleep.o
> > > > diff --git a/commands/memtest.c b/commands/memtest.c
> > > > new file mode 100644
> > > > index 0000000..22e8006
> > > > --- /dev/null
> > > > +++ b/commands/memtest.c
> > > > @@ -0,0 +1,362 @@
> > > > +/*
> > > > + * memtest - Perform a memory test
> > > > + *
> > > > + * (C) Copyright 2013
> > > > + * Alexander Aring <aar at pengutronix.de>, Pengutronix
> > > > + *
> > > > + * (C) Copyright 2000
> > > > + * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> > > > + *
> > > > + * 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 as
> > > > + * published by the Free Software Foundation; either version 2 of
> > > > + * the License, or (at your option) any later version.
> > > > + *
> > > > + * 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, Inc., 59 Temple Place, Suite 330, Boston,
> > > > + * MA 02111-1307 USA
> > > > + */
> > > > +
> > > > +#include <command.h>
> > > > +#include <getopt.h>
> > > > +#include <asm/mmu.h>
> > > > +
> > > > +#include <memory_test.h>
> > > > +
> > > > +/*
> > > > + * In CONFIG_MMU we have a special c flag.
> > > > + */
> > > > +#ifdef CONFIG_MMU
> > > > +static char optstr[] = "s:e:i:cb";
> > >
> > > const?
> > >
> >
> > This will print a compiler warning because the getopt implementation
> > doesn't accept a const char* because getopt will change this string.
>
> getopt does not modify this string. The prototype of getopt could be changed to
> take a const char *.
>
Ok I will fix this.
Regards
Alex
More information about the barebox
mailing list