Re: [PATCH 06/28] nios2: Memory management

From: Ezequiel Garcia
Date: Tue Apr 22 2014 - 11:36:16 EST


On Apr 22, Tobias Klauser wrote:
> On 2014-04-22 at 16:24:43 +0200, Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> wrote:
> > Hi Ley Foon,
> >
> > On Apr 18, Ley Foon Tan wrote:
> > > +/*
> > > + * PAGE_SHIFT determines the page size
> > > + */
> > > +#define PAGE_SHIFT 12
> > > +#define PAGE_SIZE 4096
> > > +#define PAGE_MASK (~(PAGE_SIZE - 1))
> > > +
> >
> > How about something like this:
> >
> > /* PAGE_SHIFT determines the page size */
> > #define PAGE_SHIFT 12
> > #define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
> > #define PAGE_MASK (~((1 << PAGE_SHIFT) - 1))
> >
> > Otherwise, the PAGE_SIZE macro above produces some warnings, IIRC.
>
> AFAIR old nios2 GCC versions (the 4.1 version from Windriver, IIRC)
> would complain about something like the above, that's the reason I added
> an explicit value for PAGE_SIZE back then.
>

Other than being "pretty" the above fix is to remove a mismatch type
warning. You can get rid of the warning in different ways:

ifdef __ASSEMBLY__
define PAGE_SIZE 4096
else
define PAGE_SIZE 4096UL
endif

> I assume with the new nios2 GCC this should no longer be necessary and
> Ezequiel's fix should be fine.

Speaking of GCC... is there a libc available to test this kernel port?
(which I assume uses the generic syscall ABI)
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/