<div dir="ltr"><div>Dear Zaheer,</div><div><br></div>Thanks a lot for the reference of cross compiler (though I've finished some basic parts of Click), <div>it will be quite useful for my future work. These days, I have some problems on the network drivers.</div><div>I need to leverage polling mode of NICs to improve performance, which is not supported by e1000</div><div>driver? Why?</div><div>And I tried to assign a device to Barrelfish (by QEMU), then the CPU stucks, do you have any similar</div><div>experience on it?</div><div><div><br></div></div><div>Tom</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 2, 2015 at 10:37 PM, Zaheer Chothia <span dir="ltr"><<a href="mailto:zaheer.chothia@gmail.com" target="_blank">zaheer.chothia@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Tom,<br>
<span class=""><br>
> These days, I am considering porting some network applications (like Bro,<br>
> Click, etc.) to Barrelfish. But I don't know how to start, for example, how<br>
> to write a Hakefile when original Makefile is quite complex? And what<br>
> interfaces should I modify to make them work?<br>
<br>
</span>That sounds interesting and having Click running would be a very useful<br>
contribution. I suspect the biggest porting challenge would be dealing<br>
with the network stack (currently based on lwIP; can be fragile).<br>
<br>
As a starting point, gather a list of all library functions invoked and<br>
check whether they are available on Barrelfish. One way of doing this<br>
is to compile natively and inspect the binary:<br>
$ objdump --syms myexe | grep 'UND' | sed 's/.* \(.*\)/\1/' | sort<br>
<br>
As for dealing with external build systems, have a look at [1]. You<br>
can build a full cross-compiler and use it directly with autoconf/CMake<br>
rather than converting everything to Hake.<br>
<br>
Best regards,<br>
<br>
--Zaheer<br>
<br>
[1] <a href="http://wiki.barrelfish.org/CrossCompiler" target="_blank">http://wiki.barrelfish.org/CrossCompiler</a><br>
</blockquote></div><br></div>