This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001116] Instruct lwIP to use special section for buffers and heap.


Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001116

--- Comment #25 from Sergei Gavrikov <sergei.gavrikov@gmail.com> 2011-01-30 18:43:30 GMT ---
(In reply to comment #24)
> (In reply to comment #22)
> > Maybe this will be obsolete comment, but
> > 
> > (In reply to comment #18)
> > > (In reply to comment #17)
> > > Therefore i would prefer something that will not depend on ECM. One way
> > > is:
> > > 
> > >      cdl_option CYGOPT_LWIP_MEM_SECTION {
> > >           ...
> > >           default_value 1
> > >           ...
> > >      }
> > 
> > I disagreed with above, as for the most targets we will see *grayed* and
> > *checked* box in CT:
> > 
> >   [x] Use additional memory section
> > 
> > To reduse mouse traffic you can use such a trick:
> > 
> >     cdl_option CYGOPT_LWIP_MEM_SECTION {
> >         ...
> >         default_value { is_substr(CYGDAT_LWIP_MEM_SECTION_NAME, ".") }
> >         active_if     CYGDAT_LWIP_MEM_SECTION_NAME
> > 
> > The box will be unchecked until booldata in your HAL (CYGDAT_.*_NAME) is
> > not proper section name. However, this was quickly tested only. 
> 
> I have noticed it, but I allowed to occur it since I have seen similar
> behavior in some other CDLs.

Ilija, I have managed this with:

    cdl_component CYGOPT_LWIP_MEM_PLF_SPEC {
        display         "Platform specific memory setting"
        flavor          none
        no_define

        cdl_option CYGOPT_LWIP_MEM_SECTION {
            display         "Use additional memory section"
            flavor          bool
            calculated      { CYGDAT_LWIP_MEM_SECTION_NAME && \
                 is_substr(CYGDAT_LWIP_MEM_SECTION_NAME, ".") }
            active_if       CYGDAT_LWIP_MEM_SECTION_NAME
        ...

But the difficulty to read/understand came back :-) However, it checks
that NAME is string and at the least it looks like section name.

> Actually I tried something similar
> 
>      cdl_option CYGOPT_LWIP_MEM_SECTION {
>          ...
>          default_value is_active(CYGDAT_LWIP_MEM_SECTION_NAME)
>          active_if     CYGDAT_LWIP_MEM_SECTION_NAME

I will try it in CT.

> But I'm not sure if it depends on the order the packages are processed/
> applied. FYI it worked for my test case (select default template then add
> lwip).

Ilija, I tested builds/configure for the below

lwip_net.cdl:
----
    cdl_component CYGOPT_LWIP_MEM_PLF_SPEC {
        display         "Platform specific memory setting"
        flavor          none
        no_define

        cdl_option CYGOPT_LWIP_MEM_SECTION {
            display         "Use additional memory section"
            flavor          bool
            calculated      { CYGDAT_LWIP_MEM_SECTION_NAME && \
                 is_substr(CYGDAT_LWIP_MEM_SECTION_NAME, ".") }
            active_if       CYGDAT_LWIP_MEM_SECTION_NAME
        ### ... ###
    }
    }

hal_..._foo.cdl
----
    ### For test purposes ###
    cdl_option CYGHWR_HAL_MEM_SECTION_NAME {
        flavor         data
    # FIXME:
        default_value  { "\".2ram.foo\"" }
        legal_values   { "\".2ram.foo\"" "\".2ram.bar\"" }
    ### ... ###
    }

    ### For test purposes ###
    cdl_option CYGDAT_LWIP_MEM_SECTION_NAME {
        display        "Memory section attribute name"
        parent         CYGOPT_LWIP_MEM_PLF_SPEC
        active_if      CYGPKG_NET_LWIP
        flavor         booldata
        default_value  { CYGHWR_HAL_MEM_SECTION_NAME } 
    ### ... ###
    }

But I myself have argued for simplicity. Can you try it on your target?

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]