[Click] Doing some research

Bobby Longpocket bobbylongpocket at yahoo.com
Fri Feb 11 14:08:15 EST 2011


Dingo:

I have no idea whether this will get you anywhere useful, but...

I think Click is just using the System.map file to figure out what features are supported in your kernel.  Linux makes this file by running 'nm' on the vmlinux file, which you can see in scripts/mksysmap.

nm -n <your-vmlinux-file> | grep -v '\( [aUw] \)\|\(__crc_\)\|\( \$[adt]\)' > System.map


--- On Thu, 2/10/11, Outback Dingo <outbackdingo at gmail.com> wrote:

From: Outback Dingo <outbackdingo at gmail.com>
Subject: Re: [Click] Doing some research
To: "Joonwoo Park" <joonwpark81 at gmail.com>
Cc: "Bobby Longpocket" <bobbylongpocket at yahoo.com>, click at pdos.csail.mit.edu
Date: Thursday, February 10, 2011, 3:19 PM

Okay, have actually gotten further, however on the mips target i am working there is no System.map
Can't find Linux System.map file /nonexistent_file, (You may need the --with-linux=DIR and/or --with-linux-map=MAP options.) ok closer

userand builds and works fine, however we want kernel module capabilities, any ideas around this? 

On Sun, Jan 30, 2011 at 11:32 PM, Joonwoo Park <joonwpark81 at gmail.com> wrote:

Hi Bobby,



Ah... my bad.  Yours were right.

For some reason I got an impression that 'pslot' is being passed to

rcuupdate not '*pslot'.

Thanks for correcting me.



Joonwoo



On Sun, Jan 30, 2011 at 6:25 PM, Bobby Longpocket

<bobbylongpocket at yahoo.com> wrote:

> No, that's not the correct fix.  The original fix was just a cast and had no effect other than to appease the compiler.  Your proposed fix makes the code do something different.

>

>

> --- On Sun, 1/30/11, Joonwoo Park <joonwpark81 at gmail.com> wrote:

>

>> From: Joonwoo Park <joonwpark81 at gmail.com>

>> Subject: Re: [Click] Doing some research

>> To: "Bobby Longpocket" <bobbylongpocket at yahoo.com>, "Outback Dingo" <outbackdingo at gmail.com>


>> Cc: click at pdos.csail.mit.edu

>> Date: Sunday, January 30, 2011, 2:00 PM

>> Hi,

>>

>> Presumably this wouldn't affect to anything as radix tree

>> is not being used anyware from click.  But it seems to

>> me below is correct fix.

>> 150c150

>> <       return

>> rcu_dereference(*pslot);

>> ---

>> >       return (void

>> *)rcu_dereference(*(int **)&pslot);

>> 176c176

>> <

>>    rcu_assign_pointer(*pslot, item);

>> ---

>> >

>>    rcu_assign_pointer(*(int **)&pslot,

>> (int *)item);

>>

>> Dingo, if you have chance, please try patch serise that I

>> posted yesterday.  It should work with linux 2.6.37.

>>

>> Joonwoo

>>

>> On Mon, Jan 24, 2011 at 10:33:57PM -0800, Bobby Longpocket

>> wrote:

>> > Dingo:

>> >

>> > Click patchless has a problem with 2.6.37.  In

>> radix-tree.h there's a call to a macro that ends up trying

>> to dereference a void*.  The C++ compiler doesn't like

>> this.  You can apply the following changes to

>> click/include/click-linuxmodule/include1/linux/radix-tree.h

>> to make more progress with your compilation:

>> >

>> > 150c150

>> > <     return

>> rcu_dereference(*pslot);

>> > ---

>> > >     return (void

>> *)rcu_dereference(*(int **)pslot);

>> > 176c176

>> > <     rcu_assign_pointer(*pslot,

>> item);

>> > ---

>> > >     rcu_assign_pointer(*(int

>> **)pslot, (int *)item);

>> >

>> >

>> >

>> > ----------------

>> > as for linux-2.6.37, any ideas ? and another note how

>> does one enable

>> > elements --enable-wifi (./configure --fix-includes

>> --enable-wifi ) ??

>> >

>> > today i cloned latest source from https://github.com/kohler/click

>> >

>> > cd click

>> > ./configure --fix-includes

>> >

>> > all seems fine

>> >

>> > make

>> > --------snip----------

>> > In file included from

>> >

>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/fs.h:392:0,

>> >

>>   from

>> /usr/builder/devel/click/linuxmodule/../lib/ino.cc:30:

>> >

>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:

>> > In function ‘void*

>> radix_tree_deref_slot(void**)’:

>> >

>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:

>> > error: ‘void*’ is not a pointer-to-object type

>> >

>> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:

>> > error: invalid type in declaration before ‘=’

>> token

>> >

>> >

>> >

>> >

>> >

>> > _______________________________________________

>> > click mailing list

>> > click at amsterdam.lcs.mit.edu

>> > https://amsterdam.lcs.mit.edu/mailman/listinfo/click

>>

>

>

>

>






 
____________________________________________________________________________________
Food fight? Enjoy some healthy debate 
in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367



More information about the click mailing list