Guess we need to add the template parameter to max, max<unsigned long>?
Daniel On 05/12/2011 02:32 PM, Amadeo Cuadrado wrote: > Thanks Norman and Stefan. > > While trying to run these examples with Linux instead of foc, I would like to > report I get the following error when building the NIC driver: > > Program drivers/gpxe_nic/gpxe_nic_drv > COMPILE main.o > .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc: In member function 'virtual > Nic::Session_component* Nic::Root::_create_session(const char*)': > .../genode/dde_gpxe/src/drivers/gpxe_nic/main.cc:187: error: no matching > function for call to 'max(unsigned int, long unsigned int)' > > Is this known? > > Thanks, > Amadeo > > > -----Original Message----- > From: Norman Feske [mailto:[email protected]] > Sent: Thursday, May 12, 2011 5:07 AM > To: [email protected] > Subject: Re: lwip examples > > Hi Amadeo, > > even though your current issue may be related to a configuration problem > (e.g., the creation of a tap device before starting qemu, configuring > the bridge device), I want to mention that networking support is not > expected to work on the current Fiasco.OC version. There are two known > limitations (documented at > 'http://genode.org/documentation/release-notes/11.02#section-7') that > currently stand in the way. One is the lacking support for dynamic > loading of the lwIP library (ok, I see that you are using a work-around > for this limitation via linking statically). But more importantly, the > Fiasco.OC version does not support Genode's signalling API yet. This > API, however, is used by the data-flow protocol used between lwIP and > the NIC driver (Genode's packet-stream interface). > > That said, both limitations will be addressed by the upcoming Genode > version to be released later this month. In the meanwhile, if you want > to get hands-on-experience with using lwIP on Genode, I recommend > walking the currently well-explored path of using one of the other > kernels. In your case, I would start with Linux and eventually give OKL4 > a try. From your test application's perspective, this should not make > any difference. > > For further reference about using lwIP on Genode/Linux with bridging, > you may take a look at the steps described here: > > http://www.genode.org/documentation/release-notes/10.05#section-35 > > Cheers > Norman > > On 05/12/2011 11:21 AM, Stefan Kalkowski wrote: >> Hello Amadeo, >> >> when looking at your output it seems to me that at least the pci-driver, >> and/or timer services are missing in your configuration (normally they >> would produce some output), but gPXE's nic-driver depends on them, and >> won't run without these services. As long as the nic-driver isn't >> available your lwip-application will block while initializing the >> lwip-stack. >> >> Please, verify that init's configuration contains at least these items: >> >> <start name="timer"> >> <resource name="RAM" quantum="512K"/> >> <provides> <service name="Timer"/> </provides> >> </start> >> >> <start name="pci_drv"> >> <resource name="RAM" quantum="512K"/> >> <provides> <service name="PCI"/> </provides> >> </start> >> >> <start name="gpxe_nic_drv"> >> <resource name="RAM" quantum="2M"/> >> <provides> <service name="Nic"/> </provides> >> </start> >> >> If this doesn't help you, please post your configuration file. >> >> Regards >> Stefan >> >> On 05/12/2011 12:39 AM, Amadeo Cuadrado wrote: >>> Thanks Stefan for your answer. Yes, I am building lwip and libc statically. >>> >>> I am using qemu to run the .iso, basically: >>> >>> qemu -cdrom 'myiso.iso' -net nic,model=pcnet >>> >>> I have also used VBox, with same luck. This is the Nic driver I am using: >>> >>> <start name="gpxe_nic_drv"> >>> <resource name="RAM" quantum="4M"/> >>> <provides><service name="Nic"/></provides> >>> </start> >>> >>> This is the output from the serial port: >>> >>> int main(): --- create local services --- >>> int main(): --- start init --- >>> int main(): transferred 431 MB to init >>> int main(): --- init created, waiting for exit condition --- >>> [init -> test-lwip_loop] void init_loopback(): init_loopback() >>> [init -> test-lwip_loop] Libc::Lwip_plugin::Lwip_plugin(): using the lwIP >>> libc plugin >>> [init -> test-lwip_loop] void init_libc_lwip(): init_libc_lwip() >>> [init -> test-timer] --- timer test --- >>> [init -> test-lwip_loop] int server(): Create new socket ... >>> [init -> test-lwip_loop] virtual void Client::entry(): Create new socket >>> ... >>> >>> And then it just stops there. >>> >>> What do you mean exactly about the signaling framework? Are these examples >>> supposed to not work yet? >>> >>> Thanks, >>> Amadeo >>> >>> >>> -----Original Message----- >>> From: Stefan Kalkowski [mailto:[email protected]] >>> Sent: Friday, May 06, 2011 1:16 PM >>> To: [email protected] >>> Subject: Re: lwip examples >>> >>> Hello Amadeo, >>> >>> thank you for pointing us out to the build-problem in the linux_drivers >>> repository. We immediately fixed that problem. You can checkout the fix >>> from our subversion repository. >>> >>> With respect to your problems related to lwip. I assume that you >>> compiled lwip and libc as static libraries, as ldso and shared libraries >>> aren't supported for Genode/Fiasco.OC yet? >>> >>> Without knowing much details I would guess it's a configuration issue. >>> Could you please provide some information with respect to your >>> test-environment, like what hardware or VM you use, especially which NIC >>> you've enabled? Moreover, the init-configuration and the complete serial >>> output would be helpful. >>> >>> But even when we fix your (probably configuration-)issues it's unlikely >>> that the NIC service will work out of the box now, because it's based on >>> the signalling framework, which isn't supported yet. But we work on >>> that, and it will be supported at the latest by the upcoming release. >>> Nevertheless, the mentioned problems have nothing to do with a >>> non-functional signalling framework. >>> >>> Regards >>> Stefan >>> >>> On 05/06/2011 01:56 AM, Amadeo Cuadrado wrote: >>>> Hello, >>>> >>>> >>>> >>>> I have not been able to run any of the lwip examples (I am using 32 >>>> bits): loopback hangs in socket() call, and http_srv hangs in the >>>> lwip_nic_init() call. I am using the Nic driver from dde_gpxe, since I >>>> got compilation errors when building the linux_drivers: >>>> >>>> >>>> >>>> .../genode/linux_drivers/src/linux26/arch/i386/lib/bitops.c: In function >>>> 'find_next_zero_bit': >>>> >>>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error: >>>> can't find a register in class 'BREG' while reloading 'asm' >>>> >>>> .../genode/linux_drivers/include/linux26-x86/asm/bitops.h:283: error: >>>> 'asm' operand has impossible constraints >>>> >>>> >>>> >>>> Any clue what I could be missing here to make these examples work? Let >>>> me know if you need more info about my environment. >>>> >>>> >>>> >>>> Thanks. >>>> >>>> >>>> >>>> Amadeo >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> WhatsUp Gold - Download Free Network Management Software >>>> The most intuitive, comprehensive, and cost-effective network >>>> management toolset available today. Delivers lowest initial >>>> acquisition cost and overall TCO of any competing solution. >>>> http://p.sf.net/sfu/whatsupgold-sd >>>> >>>> >>>> >>>> _______________________________________________ >>>> Genode-main mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/genode-main > ------------------------------------------------------------------------------ Achieve unprecedented app performance and reliability What every C/C++ and Fortran developer should know. Learn how Intel has extended the reach of its next-generation tools to help boost performance applications - inlcuding clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Genode-main mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/genode-main
