[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