[PATCH] ARM pbl: Make usage of MMU in pbl optional

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Wed Oct 3 11:21:53 EDT 2012


On 16:12 Wed 03 Oct     , Sascha Hauer wrote:
> On Wed, Oct 03, 2012 at 02:34:35PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 14:30 Wed 03 Oct     , Sascha Hauer wrote:
> > > On Wed, Oct 03, 2012 at 01:35:50PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > > On 12:24 Wed 03 Oct     , Sascha Hauer wrote:
> > > > > Since this currently does not work on all boards make usage
> > > > > of the MMU in the pbl optional until this has been resolved.
> > > > > 
> > > > > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > > > > ---
> > > > >  arch/arm/cpu/start-pbl.c |    2 +-
> > > > >  common/Kconfig           |    5 +++++
> > > > >  2 files changed, 6 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/arch/arm/cpu/start-pbl.c b/arch/arm/cpu/start-pbl.c
> > > > > index 932a3da..ceb60ab 100644
> > > > > --- a/arch/arm/cpu/start-pbl.c
> > > > > +++ b/arch/arm/cpu/start-pbl.c
> > > > > @@ -116,7 +116,7 @@ static void mmu_disable(void)
> > > > >  static void barebox_uncompress(void *compressed_start, unsigned int len)
> > > > >  {
> > > > >  	void (*barebox)(void);
> > > > > -	int use_mmu = IS_ENABLED(CONFIG_MMU);
> > > > > +	int use_mmu = IS_ENABLED(CONFIG_PBL_USE_MMU);
> > > > >  
> > > > >  	/* set 128 KiB at the end of the MALLOC_BASE for early malloc */
> > > > >  	free_mem_ptr = MALLOC_BASE + MALLOC_SIZE - SZ_128K;
> > > > > diff --git a/common/Kconfig b/common/Kconfig
> > > > > index b97392c..7e4cf1f 100644
> > > > > --- a/common/Kconfig
> > > > > +++ b/common/Kconfig
> > > > > @@ -139,6 +139,11 @@ config IMAGE_COMPRESSION_GZIP
> > > > >  
> > > > >  endchoice
> > > > >  
> > > > > +config PBL_USE_MMU
> > > > > +	bool "Use MMU in PBL image"
> > > > default y if MMU
> > > 
> > > Can do, but can you then send a patch for the defconfigs which don't
> > > work with MMU in the pbl?
> > 
> > ok give one day to test all
> 
> Another plan. Since remap_cache currently does not work and
> I'm not confident enough to apply the fixups so close before
> a release we can equally well disable the feature for now.
> 
> Ok?
just for the  record I work on ux5x0 for ST-E /ST Soc where you must enable
the l2x0 to use the mmu

And I get the same issue on nomadik that was alo on fo the reason I want to
add the initcall to the pbl to have SoC and board init

Best Regards,
J.
> 
> Sascha
> 
> 8<------------------------------------------------------
> 
> From c05511d6cdbcddf32d41d4036e49af8a9c18832d Mon Sep 17 00:00:00 2001
> From: Sascha Hauer <s.hauer at pengutronix.de>
> Date: Wed, 3 Oct 2012 12:23:41 +0200
> Subject: [PATCH] ARM: Disable MMU feature in PBL
> 
> remap_cache currently does not work, so enabling the MMU in the
> PBL currently does not make sense. Disable it for now.
> 
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  arch/arm/cpu/start-pbl.c |    6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/cpu/start-pbl.c b/arch/arm/cpu/start-pbl.c
> index 932a3da..3bd520c 100644
> --- a/arch/arm/cpu/start-pbl.c
> +++ b/arch/arm/cpu/start-pbl.c
> @@ -116,7 +116,11 @@ static void mmu_disable(void)
>  static void barebox_uncompress(void *compressed_start, unsigned int len)
>  {
>  	void (*barebox)(void);
> -	int use_mmu = IS_ENABLED(CONFIG_MMU);
> +	/*
> +	 * remap_cached currently does not work rendering the feature
> +	 * of enabling the MMU in the PBL useless. disable for now.
> +	 */
> +	int use_mmu = 0;
>  
>  	/* set 128 KiB at the end of the MALLOC_BASE for early malloc */
>  	free_mem_ptr = MALLOC_BASE + MALLOC_SIZE - SZ_128K;
> -- 
> 1.7.10.4
> 
> -- 
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list