On Mon, Aug 26, 2013 at 5:22 PM, Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> On 2013-08-26 02:14, Hesham AL-Matary wrote: > >> +/** >> + * @brief _Memory_management_Region Flags defs >> + */ >> +#define RTEMS_MM_REGION_NO_PROTECTION 0x0 >> +#define RTEMS_MM_REGION_PROTECTION_**READ_ONLY 0x1 >> +#define RTEMS_MM_REGION_PROTECTION_**WRITE 0x2 >> +#define RTEMS_MM_REGION_NO_ACCESS 0x3 >> +//#define RTEMS_MM_REGION_PROTECTION_**EXEC 0x4 >> > > I prefer to actually have flags here and not a single integer value. > > So I would use this: > > #define RTEMS_MM_REGION_BIT_READ 0 > #define RTEMS_MM_REGION_BIT_WRITE 1 > #define RTEMS_MM_REGION_BIT_EXECUTE 2 > #define RTEMS_MM_REGION_BIT_CACHE 3 > #define RTEMS_MM_REGION_BIT_DEVICE 4 > #define RTEMS_MM_REGION_BIT_SHARED 5 > > Some of these flags are not supported on some architectures like RTEMS_MM_REGION_BIT_SHARED, or targets that do not have Cache Unit. How should we handle some of these flags for such targets that do not support these features in hardware ? > #define RTEMS_MM_REGION_READ (1U << RTEMS_MM_REGION_BIT_WRITE) > etc. > > This can be used to get architecture specific values easily: > > ((flags >> RTEMS_MM_REGION_BIT_READ) & 0x1U) << ARCH_READ_SHIFT > > That make sense. > -- > Sebastian Huber, embedded brains GmbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : > sebastian.huber@embedded-**brains.de<sebastian.hu...@embedded-brains.de> > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > > ______________________________**_________________ > rtems-devel mailing list > rtems-devel@rtems.org > http://www.rtems.org/mailman/**listinfo/rtems-devel<http://www.rtems.org/mailman/listinfo/rtems-devel> >
_______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel