[PATCH] ARM: get rid of a few StrongARM cache-related build time constants

Nicolas Pitre nicolas.pitre at linaro.org
Thu Jul 7 19:28:36 EDT 2011


On Thu, 7 Jul 2011, Russell King - ARM Linux wrote:

> On Thu, Jul 07, 2011 at 02:43:15PM -0400, Nicolas Pitre wrote:
> > On Thu, 7 Jul 2011, Russell King - ARM Linux wrote:
> > 
> > > On Wed, Jul 06, 2011 at 09:21:33AM -0400, Nicolas Pitre wrote:
> > > > Could you test this patch as well?  You're the only one I know who might 
> > > > still have access to the affected hardware.
> > > 
> > > Tested on Assabet, and unfortunately, this doesn't work on its own because
> > > we don't permit iotable_init() to create pages with MT_CACHECLEAN and
> > > MT_MINICLEAN.
> > > 
> > > <4>BUG: map for 0xe0000000 at 0xfffe0000 can not be mapped using pages, ignoring.
> > > <4>BUG: map for 0xe0004000 at 0xfffe4000 can not be mapped using pages, ignoring.
> > > <4>BUG: map for 0xe0008000 at 0xfffe8000 can not be mapped using pages, ignoring.
> > > <4>BUG: map for 0xe000c000 at 0xfffec000 can not be mapped using pages, ignoring.
> > > 
> > > The fix is below (probably with offsets):
> > 
> > Great. Are you providing an ACK or tested-by with this patch folded in?
> > 
> > > @@ -506,16 +488,8 @@ static void __init build_mem_type_table(void)
> > >  	mem_types[MT_MEMORY].prot_pte |= kern_pgprot;
> > >  	mem_types[MT_MEMORY_NONCACHED].prot_sect |= ecc_mask;
> > >  	mem_types[MT_ROM].prot_sect |= cp->pmd;
> > > +	mem_types[MT_CACHECLEAN].prot_pte |= kern_pgprot;
> > >  
> > Doesn't MT_MINICLEAN require kern_pgprot as well?
> 
> Only if you think the result of orring:
> 
> #define L_PTE_MT_WRITEBACK      (_AT(pteval_t, 0x03) << 2)      /* 0011 */
> #define L_PTE_MT_MINICACHE      (_AT(pteval_t, 0x06) << 2)      /* 0110 (sa1100, xscale) */
> 
> together would make sense... it'd make it:
> 
> #define L_PTE_MT_WRITEALLOC     (_AT(pteval_t, 0x07) << 2)      /* 0111 */
> 
> though, so I don't think so.

Agreed.


Nicolas



More information about the linux-arm-kernel mailing list