[PATCH] ARM: get rid of a few StrongARM cache-related build time constants
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Jul 7 16:53:04 EDT 2011
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.
More information about the linux-arm-kernel
mailing list