<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 12, 2013 at 8:06 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Actually you should not include the arm-cp15-start.h in the<br>

shared/include/mm.h file because that would introduce a backwards<br>
dependency. You could, however, include <bsp/mm.h> in arm-cp15-start.h<br>
to get rid of some redundancy?<br>
<span class=""><font color="#888888"><br></font></span></blockquote><div>Yes, if I kept the struct definition at <bsp/mm.h> and deleted it from arm-cp15-start.h,</div><div>that will get rid of such a redundancy. The struct definition at arm-cp15-start.h is not useful </div>
<div>anymore.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><font color="#888888">
-Gedare<br>
</font></span><div class=""><div class="h5"><br>
On Thu, Sep 12, 2013 at 2:00 PM, Hesham Moustafa<br>
<<a href="mailto:heshamelmatary@gmail.com">heshamelmatary@gmail.com</a>> wrote:<br>
><br>
><br>
><br>
> On Thu, Sep 12, 2013 at 2:55 PM, Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br>
>><br>
>> On Thu, Sep 12, 2013 at 2:59 AM, Hesham AL-Matary<br>
>> <<a href="mailto:heshamelmatary@gmail.com">heshamelmatary@gmail.com</a>> wrote:<br>
>> > ---<br>
>> >  c/src/lib/libbsp/shared/include/mm.h              | 36<br>
>> > +++++++++++++++++++++++<br>
>> >  c/src/lib/libbsp/shared/src/no_memorymanagement.c | 21 +++++++++++++<br>
>> >  2 files changed, 57 insertions(+)<br>
>> >  create mode 100644 c/src/lib/libbsp/shared/include/mm.h<br>
>> >  create mode 100644 c/src/lib/libbsp/shared/src/no_memorymanagement.c<br>
>> ><br>
>> > diff --git a/c/src/lib/libbsp/shared/include/mm.h<br>
>> > b/c/src/lib/libbsp/shared/include/mm.h<br>
>> > new file mode 100644<br>
>> > index 0000000..f2ac71c<br>
>> > --- /dev/null<br>
>> > +++ b/c/src/lib/libbsp/shared/include/mm.h<br>
>> > @@ -0,0 +1,36 @@<br>
>> > +/*<br>
>> > + * Copyright (c) 2013 Gedare Bloom.<br>
>> > + *<br>
>> > + * The license and distribution terms for this file may be<br>
>> > + * found in the file LICENSE in this distribution or at<br>
>> > + * <a href="http://www.rtems.com/license/LICENSE" target="_blank">http://www.rtems.com/license/LICENSE</a>.<br>
>> > + */<br>
>> > +<br>
>> > +#ifndef __LIBBSP_MM_H<br>
>> > +#define __LIBBSP_MM_H<br>
>> > +<br>
>> > +#include <stdint.h><br>
>> > +#include <stdlib.h><br>
>> > +<br>
>> > +#ifdef __cplusplus<br>
>> > +extern "C" {<br>
>> > +#endif<br>
>> > +<br>
>> > +typedef struct {<br>
>> > +  uint32_t begin;<br>
>> > +  uint32_t end;<br>
>> > +  uint32_t flags;<br>
>> > +} mm_init_start_config;<br>
>> Should begin/end be uintptr_t? This structure appears to be unused<br>
>> here, so perhaps it should be left out?<br>
>><br>
> I copied the struct definition from arm-cp15-start.h so that<br>
> mm_config_table.c<br>
> can include it and recognize such a type.<br>
>  I can't include arm-cp15-start.h (which it has an exact definition)<br>
> to mm_config_table.c because there will be a multiple-definition<br>
> compilation error (as arm-cp15-start.h implements some routines) because<br>
> mm.c also includes it.<br>
>><br>
>> > +<br>
>> > +void bsp_memory_management_initialize(void);<br>
>> > +<br>
>> > +void bsp_memory_management_set_attributes(<br>
>> > +  uintptr_t base,<br>
>> > +  size_t size,<br>
>> > +  uint32_t attr<br>
>> > +);<br>
>> > +<br>
>> > +#ifdef __cplusplus<br>
>> > +}<br>
>> > +#endif<br>
>> > +#endif<br>
>> > diff --git a/c/src/lib/libbsp/shared/src/no_memorymanagement.c<br>
>> > b/c/src/lib/libbsp/shared/src/no_memorymanagement.c<br>
>> > new file mode 100644<br>
>> > index 0000000..1a5fc63<br>
>> > --- /dev/null<br>
>> > +++ b/c/src/lib/libbsp/shared/src/no_memorymanagement.c<br>
>> > @@ -0,0 +1,21 @@<br>
>> > +/*<br>
>> > + * Copyright (c) 2013 Hesham AL-Matary<br>
>> > + * Copyright (c) 2013 Gedare Bloom.<br>
>> > + *<br>
>> > + * The license and distribution terms for this file may be<br>
>> > + * found in the file LICENSE in this distribution or at<br>
>> > + * <a href="http://www.rtems.com/license/LICENSE" target="_blank">http://www.rtems.com/license/LICENSE</a>.<br>
>> > + */<br>
>> > +<br>
>> > +#include <rtems.h><br>
>> > +#include <libbsp/mm.h><br>
>> > +<br>
>> > +void bsp_memory_management_initialize( void ) { }<br>
>> > +<br>
>> > +void bsp_memory_management_set_attributes(<br>
>> > +  uintptr_t base,<br>
>> > +  size_t size,<br>
>> > +  uint32_t flags<br>
>> > +)<br>
>> > +{<br>
>> > +}<br>
>> > --<br>
>> > 1.8.3.1<br>
>> ><br>
>> > _______________________________________________<br>
>> > rtems-devel mailing list<br>
>> > <a href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a><br>
>> > <a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
><br>
><br>
</div></div></blockquote></div><br></div></div>