Re: *genode-main mailing list changes*
Hello, as announced by Stefan this list is closed as of today. Please subscribe to our new mailing list with the details below. The mailing list archive https://lists.genode.org/pipermail/users/ also contains the complete history from this list. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth On Fri, May 04, 2018 at 01:57:19PM +0200, Stefan Kalkowski wrote: > Dear Genode list subscribers, > > for quite some time, we thought about moving our mailing list away > from Sourceforge. The inability to turn of advertisement, > the automated mass-unsubscription Sourceforge proceeded last year, and > most importantly: mails were not processed for days frequently. > > Therefore, we have installed our own mailing list infrastructure at > lists.genode.org. Unfortunately, it is impossible for us to gain the > currently subscribed users of this list. That is why, we cannot simply > portage your e-mail addresses from one list to the other. > > We like to encourage you to subscribe to the new list at your earliest > convenience, here: > > https://lists.genode.org/listinfo/users > > From now on, postings shall be done to the new list's address that is: > > us...@lists.genode.org > > The mail archive is now located at: > > https://lists.genode.org/pipermail/users/ > > The current "genode-main" mailing list will get turned off at Monday, > May 14, 2018. > > We apologize for the inconvenience! > > Best regards > Stefan > > -- > Stefan Kalkowski > Genode labs > > https://github.com.skalk | https://genode.org -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: interrupts on AMD hardware
Ben, On Thu, Apr 12, 2018 at 02:14:04AM -0600, Nobody III wrote: > What exactly are you referring to, and how do I do it? Unfortunately, you need to dig through the code, but if you dare it may be really rewarding. I'm neither the author of the Genode acpica-library port nor an expert in ACPICA at a whole, but find and grep yielded me some hints where to look at. So, navigate to repos/libports/src/lib/acpica and try to find some appropriate backend functions to instrument. This may not suffice, so you should also navigate to contrib/acpica-/src/lib/acpica and instrument source/components/executer/exregion.c (AcpiExSystemMemorySpaceHandler). To be honest, from this point it's up to you to invest more effort to get your platform running. Good luck -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: interrupts on AMD hardware
Hi Ben, On Tue, Apr 10, 2018 at 09:20:37PM -0600, Nobody III wrote: > It looks like the acpica component should already call the _PIC method. I > combined run/acpica and run/usb_hid, which I was able to get working in > QEMU, but it made no difference in the result on my PC. What should I try > from here? Did you make sure (by instrumenting the ACPICA os backend) that it changes values in the systemio/lpc? If yes, I'm out of ideas. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: interrupts on AMD hardware
Hello Ben, On Wed, Apr 04, 2018 at 01:23:42PM -0600, Nobody III wrote: > Thanks for the analysis. The OSDev wiki says, "The ACPICA code is meant to > be directly integrated into the host OS, as a kernel-resident subsystem." > This suggests that we could likely use acpica without too much trouble. That's perfectly true for traditional monolithic kernels like Linux but should not be taken as given for our approach of a minimal trusted computing base. ACPI comes with significant complexity due to its dependency on AML and therefore an AML interpreter. If there's the slightest chance to keep ACPICA out of the TCB we should invest the effort. A good example is our acpi_drv which implements the ATARE approach [2] to statically parse PCI routing tables. > By the way, could you please give me a quick explanation of the _PIC and > _PRT methods, and how they're stored? Please refer to the ACPI specification [1] sections "5.8.1 _PIC Method" and "6.2.13 _PRT (PCI Routing Table)". Those methods are part of the DSDT table and implemented in ASL/AML. [1] http://www.uefi.org/sites/default/files/resources/ACPI%206_2_A_Sept29.pdf [2] https://os.inf.tu-dresden.de/papers_ps/tr-atare-2009.pdf Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: interrupts on AMD hardware
Hello, first I'd like to thank Ben for providing me his ACPI tables. This morning I digged through the disassembled DSDT and got the feeling that this AMD platforms depends on an ACPI-capable OS calling the _PIC and _PRT methods for IRQ setup. This is the call trace I discovered call _PIC to inform AML of the interrupt model in use _PIC calls \_SB.IRQC in APIC mode \_SB.IRQC configures several SystemIO fields (e.g., PIRA, PIRB) _PRT reports the routing table as usual referencing AR00 in APIC mode so this part should be working already. I suggest further investigation of the IRQ-related setup done in the DST AML code. Unfortunately, I'm not familiar enough with acpica to know if it could be easily adapted to try a full ACPI setup (incl. IRQs) on the platform. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: std::stream::ignore ()
Hi Stefan, On Wed, Mar 14, 2018 at 03:18:52PM +0100, Stefan wrote: > While trying to port OSG, I found out, that std::istream::ignore (long) seems > to be missing. > > Is there an official workaround for this? please try the attached patch for the stdcxx symbols file. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth diff --git a/repos/libports/lib/symbols/stdcxx b/repos/libports/lib/symbols/stdcxx index 08db6b3..cf25efc 100644 --- a/repos/libports/lib/symbols/stdcxx +++ b/repos/libports/lib/symbols/stdcxx @@ -152,6 +152,8 @@ _ZNKSt9type_info10__do_catchEPKS_PPvj T _ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv T _ZNKSt9type_info14__is_pointer_pEv T _ZNKSt9type_info15__is_function_pEv T +_ZNSi6ignoreEl T +_ZNSi6ignoreEli T _ZNSt10__num_base11_S_atoms_inE D 8 _ZNSt10__num_base12_S_atoms_outE D 8 _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc T -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: base-linux IRQ session
Hello Johannes, On Tue, Mar 13, 2018 at 01:36:09PM +0100, Johannes Kliemann wrote: > I'm currently implementing the IRQ session on base-linux. > If I understood the Foundations book correctly interrupts are waiting in > a separate thread that locks when it is waiting and continues (and calls > the handler) once an interrupt is triggered. The core-internal implementation depends on the base platform. On NOVA and FOC, the Irq_object (which is a thread) is never started, ie., does not execute an entry function. Other platforms (e.g., OKL4) use the Irq_object thread to implement a interrupt-wait-and-signal loop. > According to this I have implemented a kernel module [1] that triggers > interrupts via reads on a device file. The interrupt can be registered > via ioctl on the file descriptor and the a blocking read is called that > returns once the registered interrupts has been triggered. > > I have looked into the implementations of base-nova and base-hw but > didn't completely understand it. As far as I understood the session > component implements the session and only requires the interrupt number > and a signal handler. > The Irq_object implements the waiting thread but I didn't see where it > is waiting for the interrupt. > Also as far as I could see it the actual interrupt capability stays > inside the session in core and only the signal handler capability is > passed to the component. I suggest you refer to OKL4 base-okl4/src/core/irq_session_component.cc and implement an Irq_object working similarly with a entry() function that uses Irq_object::_wait_for_irq() (which blocks in read(dev_fd)) and signals IRQ occurence by Genode::Signal_transmitter(_sig_cap).submit(1) > Is my understanding of this correct? And is there any further > documentation on this? Unfortunately, there's only few documentation of the core internals. To get up-to-date information I suggest looking at the code and asking here or even on Freenode http://webchat.freenode.net/?randomnick=1=%23genode=d4 Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Segmentation fault in free_io_mem
Hello Johannes, On Tue, Mar 13, 2018 at 11:01:02AM +0100, Johannes Kliemann wrote: > I have sent this mail before but it was timed unfortunately and got lost > in the 18.02 release. Sorry for leaving you in the lurch! I read your last posting but was distracted in the middle of my investigation. > While testing the IO_MEM session on Linux with ACPI I noticed that the > acpi_drv segfaults when freeing its io memory on > repos/os/src/drivers/acpi/acpi.cc:1304 [1]. The crash happens then in > repos/base/include/base/allocator.h:319 [2] at > > > operator delete (obj, dealloc); > > I noticed that this is called many times without problems but not from > free_io_mem. Unfortunately I have to admit that my C++ knowledge is > insufficient to really grasp what happens in this expression. > Is there any difference in how io memory is freed or should there be any > (at least on Linux)? The intention of free_io_mem() is to free all Io_mem objects which were accumulated in previous calls to phys_to_virt(). Those objects reside in the _heap and must therefore be delete'd, which means all destructors are executed and memory is deallocated. The unanswered question is: What is the reason for the segmentation fault as delete should always work? Is it a dangling pointer in Io_mem (incl. its members)? Do you have any chance to run GDB on the target platform to produce a backtrace or investigate online? Did you try to instrument the destructors of Io_mem and its aggregated objects? Sorry that I have more questions than answers but you see me in the dark currently. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Sculpt not accepting input from touchpad
Hello Ben, On Sat, Mar 10, 2018 at 07:45:44PM -0700, Nobody III wrote: > When I run the Sculpt scenario on my laptop, the touchpad doesn't work, > unlike in the old Turmvilla scenario. How can I fix this? I'm not aware of any regressions regarding PS/2 touchpads but I'm afraid I've no idea which type of touchpad you use nor do I know your type of laptop. So please if you desire any help from the community be so kind and provide more information about your issue. I personally feel not encouraged to help you by a lazily dropped two-liner. A good starting point might be to do some debugging based on the information in repos/os/src/drivers/input/spec/ps2/README Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: 32 bit overflow in timer
A small remark... On Mon, Mar 05, 2018 at 02:49:18PM +0100, Martin Stein wrote: > For greater timeouts you could use msleep(unsigned) (up to 49 > days and 17 hours). This will not work as msleep(ms) just calls usleep(1000*ms). -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: keyboard/keymap issues
Hello Ben, On Thu, Mar 01, 2018 at 11:48:58PM -0700, Nobody III wrote: > In Sculpt, I have noticed 2 major keyboard issues: > 1. The caps lock and shift keys are treated identically, which gives > unexpected results (symbols instead of numbers) when a user types numbers > with caps lock enabled. Up to now, this issue stayed undetected simply for the fact that we core developers do not use or even know the correct behavior of "Caps Lock". So triggered by your message, I browsed to Wikipedia and discovered that we're in good company being uncertain of the correct caps-lock behavior https://en.wikipedia.org/wiki/Caps_lock Nevertheless, it's possible to change the character-generator mapping for caps-lock rendering differently from the shift keys by applying the caps-lock ROM to a different modifier (e.g., mod4). Then, you have to provide the character mapping in the node of the en_us.chargen file. > 2. The delete, end, and home keys don't work properly in bash. They are > equivalent to typing the '~' character. Those keys work fine in vim, > however. This is a known issue originating from the bash port, which does not adapt to the terminal capabilities like, for example, ViM. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Problem building vmm; Error: Hash sum check for acpica failed
Hi, On Sat, Feb 17, 2018 at 12:19:30PM +, jony jony wrote: > i tried running the command but i get the following error message: > > root@ubuntu:/genode-17.11/nova_build_dir# > /genode-17.11/tool/ports/prepare_port acpica bzip2 ccid curl drm > e2fsprogs-lib exfat expat fatfs freetype fribidi fuse-ext2 gmp icu jbig2dec > jitterentropy jpeg libav libc libiconv libpng libssh libusb lua lwip mesa > mpc mpfr mupdf ncurses ntfs-3g openjpeg openssl pcg-c pcre pcsc-lite python > qemu-usb qoost qt5 readline rust sdl sdl_image sdl_mixer sdl_net sdl_ttf > stdcxx zlib > > Error: Hash sum check for acpica failed > make[2]: *** [acpica.file] Error 1 > make[1]: *** [_install_in_port_dir] Error 2 > make: *** [acpica] Error 2 It seems your port download produced a corrupted file for acpica. Please retry by executing rm -r /genode-17.11/contrib/acpica-* /genode-17.11/tool/ports/prepare_port acpica Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: qt5 build problem
Hello Bob, On Thu, Feb 08, 2018 at 12:51:27AM -0500, Bob Sutherland via genode-main wrote: > I attached the result file. > > da39a3ee5e6b4b0d3255bfef95601890afd80709 1 > da39a3ee5e6b4b0d3255bfef95601890afd80709 2 > 74e9dc82dd194d8ae0fb0f8f1df74081948b943a 3 This tells me the first two downloads did not succed but the last one produces the correct hash. The download URLs differ in the fact that 1 and 2 are FTP but 3 is HTTP. Therefore, I pushed a fixup to our staging branch to use HTTP for downloading qtscriptclassic. https://github.com/genodelabs/genode/commit/8c9bbdcdbdca0aec6c578437d21f66877efd8406 Please cherry-pick and retry. Thanks for your cooperation to identify the issue so far. BTW, the first hash is produced if the downloaded file has size 0: $ touch 0 $ sha1sum 0 da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: qt5 build problem
Maybe the following conversation helps you further? https://sourceforge.net/p/genode/mailman/message/34796432/ Did you change the link in the qt5.port file? Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Regarding building NOVA kernel
Hello, On Mon, Feb 05, 2018 at 08:41:40AM +0100, Stefan Kalkowski wrote: > The solution is to install an appropriated qemu variant, e.g., using a > pre-compiled Qemu of your Linux distribution, or configure and compile Qemu > yourself with the libSDL headers and libraries in place. Alternatively, you may use your Qemu as is but remove the following line from etc/build.conf in your build directory. QEMU_OPT += -display sdl Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Sockets
Hello Roman, On Fri, Jan 26, 2018 at 01:54:32PM +0100, Roman Iten wrote: > I have a libc server application that binds a UDP socket and a libc > client application to test the server. For this purpose I start two vfs > and bridge them using the nic_bridge component: [...] I never tried such a scenario myself but it reminds me of one aspect of nic_router.run test. Maybe you can have a look into it. As a first glance over your config did not reveal any obvious erros, it would be best you provide a branch with your scenario and test programs at Github. So, we get a chance to play with the scenario. My first action would be to integrate nic_dump and verify guess that at least an ICMP error message travels from server to client. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Linux IO_MEM session
Hello Johannes, On Thu, Jan 25, 2018 at 11:25:20AM +0100, Johannes Kliemann wrote: > > _ds_cap = _ds_ep->manage(&_ds); Looking at the generic implementation we learn that it also needs a cast after the manage base/src/core/io_mem_session_component.cc:87: _ds_cap = static_cap_cast(_ds_ep->manage(&_ds)); For testing I adapted this to the current inheritance state in base-linux, which then compiles base-linux/src/core/io_mem_session_component.cc:72: _ds_cap = static_cap_cast(static_cap_cast(_ds_ep->manage(&_ds))); So, the implementation currently prevents to provide Io_mem_dataspace as easy as Dataspace because there's no hook to tell the generic parts that a Dataspace is in fact a Linux_dataspace because Io_mem_dataspace directly inherits Dataspace. Sounds twisted, but that's the reason in my opinion and we need to do some refactoring to make the Io_mem-related modules tweakable in this regard. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Installing Genode within container
Hello, your Qemu command line looks suspicious... On Tue, Jan 23, 2018 at 05:01:36PM +0100, Subhadeep Sarkar wrote: > spawn qemu-system-i386 -no-kvm 127.0.0.1:0 -serial mon:stdio -m 512 -cdrom > var/run/demo.iso > qemu-system-i386: -no-kvm: Unknown protocol '127.0.0.1' Shouldn't it read more like qemu-system-i386 -no-kvm -vnc 127.0.0.1:0 -serial mon:stdio -m 512 -cdrom var/run/demo.iso or qemu-system-i386 -no-kvm -display vnc=127.0.0.1:0 -serial mon:stdio -m 512 -cdrom var/run/demo.iso ? Note, I have no experience with Qemu VNC support, just had a look at "qemu-system-i386 --help". Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Roadmap 2018
Hello, thanks for your input and ideas. In fact, the ebook reader as a potential Genode target pops up from time to time, but it never gained traction though. In my opinion one reason is a lack of interest in the current developer community as there are many other attractive targets. Another reason is the diversity of hardware platforms and peripherals used in embedded devices as well as power-management demands, which always brings a significant increase of efforts to enable devices to a useful degree. I appreciate you sharing that valuable information about the ereader hardware landscape, which may help to spark some interest in the community. We core developers decided on the more desktop-oriented Sculpt (and a touch of networking) for this year's roadmap. The upcoming version of the Genode Foundations book will be published in the usual PDF but also in ebook formats. Because of personal interest, I'll revive and optimize the unofficial EPUB version we had in the past. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth On Mon, Jan 15, 2018 at 01:38:26PM +0100, t...@gmx.net wrote: > Having followed Genode's interesting quarterly development updates > for quite some time, I hope to finally make a move towards a > hands-on understanding and therefore set the modest goal for myself > to at least read the entire handbook this year. Not as exciting as > committing to any real development work, but hopefully easy enough > to actually achieve and leaving room for more. > > On to wishes. > > 1. I think, it would be a good side project for developers, to add > support for at least one ebook reader. My reasoning behind this is, > that these devices are relatively cheap and actually useful beyond > (embedded) software development work and seem to offer an easy > enough application scenario to support. This could also raise > awareness of Genode's existence beyond the current level. > > Ereaders' innovation cycles are more developer friendly than, say, > laptops', tablets' or smartphones' and the hardware used is more > homogeneous. Many current models still use the i.MX6 SoC, including > Kindle and Tolino devices, which Genode developers seem to be > willing to support anyway. > > The Tolino Shine 2HD, for instance, would appear to be an attractive > target, since it boots from a microSD card, which could easily be > replaced by one with a Genode image on it. While the technically > very similar Kobo Glo HD does not seem to be sold any longer in > Germany, it might still be in other countries (otherwise, I would > have suggested the Glo HD, since its case is easier to open; Tolino > and Kobo devices are designed by the same manufacturer, so that > their hardware has always been very similar). > > Ebook readers are not much more expensive than a development board > but come with the benefit of an extra display. Some popular third > party reading apps like koreader are also internally based on mupdf, > for which I think, I've read, Genode had already some support, which > leads me to believe, that a purely Genode-based typical ebook reader > scenario could be within reach with reasonable effort from a > knowledgable developer, who has run a Genode scenario on i.MX6 > before. > > This could be a basis for a later support of further ebook readers, > including more professionally oriented ones like the Onyx Boox Max > Carta (also uses i.MX 6), which could even be used as a full > development machine, considering its large eye-friendly display and > built-in Bluetooth for keyboard connection. Maybe an incentive for > sunlight-affine programmers, if such exist, not to mention my wish > to see Genode support stylus input in general. > > 2. While ebook reader support itself would also offer Genode the > opportunity to present its native documentation, the handbook, in an > attractive form, it might be an easier first step to provide an > official EPUB version of the handbook. The current PDF version from > the web site, for its formatting, is not very ebook reader friendly, > regarding the mainstream 6 inch devices. It would be nice to either > see an EPUB version or a PDF optimised for common ereader screen > sizes. Given the surprisingly poor margin truncating support of many > of these devices, a PDF should have small margins. (The current > state of stock ereader software screams for something better.) > > I think, these two points are my main input for the roadmap 2018 > discussion. I also like the quality and resilience aspect, which > Norman alluded to in his discussion starter. Seeing critical > co
Re: blocking canceled in entrypoint constructor
Hello Johannes, On Fri, Jan 12, 2018 at 01:09:25PM +0100, Johannes Kliemann wrote: > Why does Genode handle -EINTR with an exception and not the way proposed > in the GNU manual? We use the Linux signal mechanism with signal SIGUSR1 to implement our cancelable lock. So, if a thread is unblocked with the EINTR error it reflects the cancellation by throwing this exception. Core's initial thread is unblocked only once by this mechanism and then blocks in ./base/src/core/signal_receiver.cc:41:void Signal_receiver::block_for_signal() Did you find out which signal occurred in core? We setup several signal handlers for fatal signals (e.g., SIGSEGV) that log diagnostic info and also src/core/thread_linux.cc:45SIGUSR1 ./src/core/platform.cc:95 SIGINT ./src/core/platform.cc:98 SIGCHLD You could try to setup more handlers this way and log signal occurrence. Cheers -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Roadmap 2018
Hello, On Thu, Jan 11, 2018 at 03:16:31PM -0600, Emery Hemingway wrote: > I apologize for my absence from the mailing list, I didn't realize my > subscription had ended until I noticed a link to the spectre thread on > the front page of Hacker News :-) We're working on the migration of our mailing lists to our own servers because of repeating annoying incidents like this with Sourceforge's service. So, consider this as a definite roadmap item. In the future, we may even host them on a Genode instance transparently ;-) Cheers -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Constrained file descriptors
Hello Johannes, On Fri, Dec 29, 2017 at 07:37:39PM +0100, Johannes Kliemann wrote: > before Christmas we chatted about enabling the MMIO session on Linux. > You said that you know a possibility to create constrained file > descriptors (in such a way that accesses through this descriptor can > only access a part of the file). I've done a second search but I > couldn't find any useful information regarding this topic. > Do you have any further, more specific, information about how to achieve > this goal? I had a chat with Norman and we're not sure if he was referring to memfd_create() [1] which, unfortunately, does not solve the issue as it only handles anonymous memory. Maybe adding "android" to the keywords on your internet search brings up more interesting hits? Also, uio has solve this issue too, right? [1] http://man7.org/linux/man-pages/man2/memfd_create.2.html [2] https://www.kernel.org/doc/html/latest/driver-api/uio-howto.html Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Roadmap 2018
Hello, thanks Norman for making a start with the road-map discussion and also for the review of 2017. Personally, I'm quite excited that Sculpt enables me to work on Genode each day. This is pretty much different from what I felt one year ago with a rather static scenario that I used only once for a talk. Looking at 2017 in hindsight, I did not invest much time into my personal plan, which was a Genode-native multi-component email workflow including IMAP, SMTP, local (maildir) storage, and mutt as MUA. Nevertheless, I'll extend the plan to 2018 as Sculpt promises less obstacles and features true dynamic Genode subsystems beside the traditional Linux VM. The first natural step is the use of multiple VMs tailored for dedicated purposes of daily work (speak development, email, web browsing). This is not my personal ambition but the first pieces were already put in place by others in the team. This scenario helps to understand and solve the task of sharing data when splitting the daily work into more fine-grained domains. Next, the email VM can be replaced by the Genode email subsystem developed in parallel. Additionally, I'd like to explore more options for Genode as an OS for network equipment. We already have a collection of network-related components like NIC and WiFi drivers, nic_router, and the IP stacks. What's missing is a Sculpt-like scenario one may just install on a network/WiFi router. Initially, I'll address an easily available x86-based platform to avoid time-consuming platform enablement or porting of device drivers. Also for 2018, I anticipate that we'll invest a good share of our development time into x86 PC hardware. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: pthread_main_np not implemented
Hello Steve, On Tue, Dec 26, 2017 at 06:04:46PM -0600, Steven Harp wrote: > After upgrading to 17.11, I noticed some of my libc+lwip using programs have > started logging many warnings like: > >pthread_main_np_int: pthread_main_np called, not implemented > > This is observed with a fresh checkout (under x86_32/nova); so, > I presume the cause is distinct from the similar warnings noted in #2312. I'm not sure but I expect this warning is caused by the FreeBSD resolv library, which for some reason tries to intelligently apply pthread-based multi threading when resolving DNS names. > Possibly related (?), during build, there were also quite a few warnings > like: > > libports/src/lib/libc_lwip/plugin.cc:284:31: >warning: ‘Genode::Env_deprecated* Genode::env()’ is deprecated > [-Wdeprecated-declarations] > Genode::destroy(Genode::env()->heap(), context(fdo)); This warning is unrelated and will disappear after our current lwip/lxip rework is finished. It only hints that this code uses a deprecated but still functional feature of the Genode API. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: libc and Genode signal handlers, RPC
Hello Steve, On Sun, Dec 17, 2017 at 05:38:59PM -0600, Steven Harp wrote: > Release 17.02 introduced a new execution model of the C runtime > which was, I believe, intended to make it possible to write components > that combine regular Genode signal handlers and RPC with code using libc. > This would be very handy for porting network services etc that > are greatly simplified by the C runtime. We introduced the Libc Component and Select_handler API as a first approach to support Genode components that use contrib implementations from the POSIX environment. During the past month we gathered a lot of experience and also identified some flaws of aspects of our first take. For example, we're currently moving with_libc() from the public API to the libc internals as it brought to much hassle. On the other hand, we're quite certain the current execution model proved practical. When implementing a libc component the design must submit to the execution model, which in particular assigns the initial entrypoint the role of the I/O signal handler. The following aspects may be relevant. - There are several libc operations that may block the calling thread. Examples are read, select, and nanosleep. - The initial entrypoint must pass a code section where it dispatches libc-relevant I/O signals, which in turn may result in unblocking of blocking libc operations. Those code sections are the entrypoint RPC-and-signal dispatcher (which is entered on return from an RPC function or a signal handler) and any blocking libc operation. (Searching the sources for calls to wait_and_dispatch_one_io_signal*() may help to get a picture.) - Note, if the initial entrypoint is blocked in a libc operation (e.g., read(socket)) it only handles I/O signals but does not respond to RPC requests or other signals. Those are dispatched in the entrypoint dispatcher only. - If the initial entrypoint is blocked by other means (blocking RPC to a service, semaphore, lock) or busy looping it will not dispatch I/O signals, thus not unblock libc operations (other threads in the same component may block in). > Q: Is there a preferred model for the interaction between the libc > and non-libc parts of such a component? For example, suppose we want > to make the libc code block on a Genode signal (asynchronous event)? Not yet. You may find different approaches throughout the sources or in developers repositories. Indeed, we already continued the OpenVPN discussion in the issue tracker [1]. > After reading discussion [1] I found that running the libc elements > in a new Genode thread, and blocking on a Genode::Semaphore was a workable > option, though perhaps not very elegant. The naive approach (using the > semaphore without the extra thread) seems to lead to a situation where > signals are received but never unblock the libc code. This situation is expected given the execution model described above: If the initial entrypoint blocks without handling I/O signals other threads never leave their blocking state. > Can anyone recommend some examples/tests that illustrate the intended > new approach for: > (a) libc code blocking on a Genode signal, > (b) a component's RPC service invoking some code using libc > (c) libc code invoking Genode RPC > (d) invoking libc code in Genode callback, e.g. timeout handler I suggest you have a look into the libc_component test [2]. This test served as debugging environment during development of the libc execution model. If the test leaves some gaps, please feel free to ask. In addition to the descriptions above I'd like to note that the mix of Genode and libc code bears a high risk of designing complex solutions with unexpected corner cases. Please look into [1] where I sketched an alternative implementation of the OpenVPN tun backend. I'm certain that future integrations of libc and Genode (at least on the client side) will need a twofold approach: a pseudo file system provided by a Genode-facing VFS plugin and an application backend using this file system. The advantage of this approach is that both parts may gain the best out of their environment. For example, the application backend may use select() to monitor a set of file descriptors while the VFS plugin uses Genode APIs and signal handling. Finally, plugin and application are coupled by the libc file API only. Currently, the most complex pseudo file system is the socket_fs [3]. [1] https://github.com/genodelabs/genode/issues/2595 [2] https://github.com/genodelabs/genode/blob/17.11/repos/libports/src/test/libc_component/main.cc [3] https://genode.org/documentation/release-notes/17.02#Linux_TCP_IP_stack_as_VFS_plugin Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Re: Virtual machines from .vdi images
Hello Chris, On Thu, Dec 14, 2017 at 10:45:37AM -0500, Chris Rothrock wrote: > Here is the output from these two commands. [...] > *-storage > description: RAID bus controller > product: SATA Controller [RAID mode] [8086:2822] > vendor: Intel Corporation [8086] > physical id: 17 > bus info: pci@:00:17.0 > version: 31 > width: 32 bits > clock: 66MHz > capabilities: storage msi pm bus_master cap_list > configuration: driver=ahci latency=0 > resources: irq:123 memory:d1048000-d1049fff > memory:d104e000-d104e0ff ioport:3080(size=8) ioport:3088(size=4) > ioport:3060(size=32) memory:d104c000-d104c7ff [...] > *-scsi:0 > physical id: 2 > logical name: scsi0 > capabilities: emulated > *-disk > description: ATA Disk > product: WDC WD5000AZLX-6 > vendor: Western Digital > physical id: 0.0.0 > bus info: scsi@0:0.0.0 > logical name: /dev/sda > version: 1A01 > serial: [REMOVED] > size: 465GiB (500GB) > capabilities: gpt-1.00 partitioned partitioned:gpt > configuration: ansiversion=5 > guid=eaaf6998-3866-45df-b02d-8820514d2968 logicalsectorsize=512 > sectorsize=4096 [...] > 00:17.0 RAID bus controller [0104]: Intel Corporation SATA Controller [RAID > mode] [8086:2822] (rev 31) > Subsystem: Hewlett-Packard Company SATA Controller [RAID mode] [103c:802e] > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- > Stepping- SERR+ FastB2B- DisINTx+ > Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- Latency: 0 > Interrupt: pin A routed to IRQ 123 > Region 0: Memory at d1048000 (32-bit, non-prefetchable) [size=8K] > Region 1: Memory at d104e000 (32-bit, non-prefetchable) [size=256] > Region 2: I/O ports at 3080 [size=8] > Region 3: I/O ports at 3088 [size=4] > Region 4: I/O ports at 3060 [size=32] > Region 5: Memory at d104c000 (32-bit, non-prefetchable) [size=2K] > Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit- > Address: fee00238 Data: > Capabilities: [70] Power Management version 3 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) > Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- > Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=0004 > Kernel driver in use: ahci > Kernel modules: ahci I had a thorough look at the information above and unfortunately this storage configuration is not supported by Genode currently. The reasons are: 1) The storage controller does not appear as AHCI device but as SATA RAID mode controller. Therefore, our platform_drv does not provide access to the I/O resources to the AHCI driver. 2) If ahci_drv had access to the device it would not use it as we did not implement any special handling of RAID mode controllers. It may be possible to extend the driver by means to drive the device via BAR4 (I/O ports 3060+32) but I have no experience with this operation. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: wifi: assignment of PCI device failed
Hello Johannes, just an idea... On Mon, Dec 04, 2017 at 10:04:36AM +0100, Johannes Kliemann wrote: > > [platform_drv] Error: wifi_drv -> : assignment of PCI device 4:0.0 > failed phys=0xf840 virt=0x10 This physical address seems fairly high. Are you sure you enabled the platform_drv to apply constrains to dataspace allocations? Your start node should contain something like Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: test.iso for virtualbox.run
Hello Naiji, On Thu, Nov 30, 2017 at 02:33:25PM +0100, Naiji Ma wrote: > I am trying out the virtualbox.run under repos/ports/run but it needs a > file named test.iso. I searched the repo but couldn't find that file. What > is the test.iso for? Could it be a tiny Linux live CD for testing the > virtualbox? Exactly, we used TinyCore CD images in the past. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: KRACK vulnerability
Hello Ben, On Thu, Nov 30, 2017 at 12:05:12AM -0700, Nobody III wrote: > A security vulnerability (KRACK) was recently discovered in WPA2. This > affects almost all devices and operating systems, including Genode. In > particular, unpatched versions of wpa_supplicant are affected, so wifi_drv > needs an updated/patched version to be reasonably secure. This will be addressed by a fix for issue #2541 https://github.com/genodelabs/genode/issues/2541 Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: VFS and FATFS plugin configuration
Oh, I forgot to mention and attach my patch [1] for use of the VFS in run/libc_fatfs as an intermediate testing vehicle. [1] 17_08_libc_fatfs.patch (attachment) Hope it helps -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth repos/libports/run/libc_filesystem_test.inc | 19 --- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/repos/libports/run/libc_filesystem_test.inc b/repos/libports/run/libc_filesystem_test.inc index 7a0be23..ad1e049 100644 --- a/repos/libports/run/libc_filesystem_test.inc +++ b/repos/libports/run/libc_filesystem_test.inc @@ -35,6 +35,7 @@ set build_components { core init drivers/timer test/libc_block + test/libc_vfs server/vfs lib/vfs/fatfs } lappend build_components test/libc_$filesystem @@ -75,7 +76,7 @@ set config { } append config " - " + " append config { @@ -86,12 +87,23 @@ append config { } -append config $libc_dev_blkdev append config { + + + + + + + + + + + + } append_platform_drv_config @@ -105,7 +117,7 @@ append_if $use_ahci config { } append_if $use_ahci config " - " + " append_if $use_ahci config { } @@ -138,6 +150,7 @@ install_config $config set boot_modules { core init timer ld.lib.so libc.lib.so libm.lib.so posix.lib.so + vfs test-libc_vfs vfs_fatfs.lib.so } append boot_modules test-libc_$filesystem -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: VFS and FATFS plugin configuration
Hello Steve, On Wed, Nov 08, 2017 at 05:35:26PM -0600, Steven Harp wrote: > Release notes for 17.08 briefly describe changes to the FatFS-based > plugin. I'm having difficulty making this work with a VFS server and a > FAT filesystem on an AHCI block device. > > Are there good examples of such a configuration in 17.08? > > Some of the examples that I'd hoped would work, from libports > (libc_vfs_{fs_fat, fat, component, fatfs_fs}), do not seem to run. > Perhaps this reflects the recent changes? Yes, I see none of these > are in the autopilot list, and the libc_vfs examples in that list > do seem to function correctly, but don't illustrate the desired > scenario. > > Suggestions? I just tested "make run/libc_vfs_fat KERNEL=nova" and it works on our staging branch after I followed the hint in the log Error: missing depot archives: genodelabs/src/base-nova genodelabs/src/init genodelabs/src/ahci_drv You may create the following archives locally: .../tool/depot/create genodelabs/bin/x86_64/base-nova genodelabs/bin/x86_64/init genodelabs/bin/x86_64/ahci_drv CROSS_DEV_PREFIX=/usr/local/genode-gcc/bin/genode-x86- and created the missing depot archives. I added "-j 8" to the command line for parallel build. It needs some tweaks for regressions on 17.08 though. > An up-to-date README for VFS would be really handy... The current VFS implementation can be seen as an intermediate development step. There are already many features, which solve a lot of use cases, but in our opinion we did not attain our goals yet. Therefore, we expect several aspects will change on the path and deferred thorough documentation beyond the available run scripts. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Virtual machines from .vdi images
Hello Chris, On Fri, Nov 03, 2017 at 02:31:41PM -0400, Chris Rothrock wrote: > I tried this same build on an Intel-based computer (an HP Z240 with an > Intel SATA controller) but this one gets even less progress. The driver > reports that there are no AHCI controllers present. From what I can tell, > this is probably because the controller is set to IDE mode not AHCI mode > but there aren't any options within the BIOS to even change this setting so > I am up against a wall to get this to work on any platform I have tried. From the available HP documentation I'd bet the SATA controller comes without IDE/legacy mode. But, it supports a hardware RAID mode, so you may check in BIOS under "Configure Storage Controller for RAID" for "Disable". Also, the HP Z240 is optionally delivered with PCIe SSD (i.e., NVMe SSD) which is not supported by ahci_drv as it is a completely different interface from AHCI. If you can make sure that there is a SATA SSD/disk and the controller is not in RAID mode, you may provide the output of sudo lshw -sanitize -numeric sudo lspci -vvvnn from inside a Linux running on the workstation. > [init -> nic_drv] Found: 00:1f.6 8086:15b7 (rev 31) IRQ 0b > [init -> nic_drv] no driver found The 8086:15b7 is a pretty recent I219-LM we just enabled in our NIC driver on our staging branch. The patch is pretty simple - you may have a look at https://github.com/genodelabs/genode/commit/8f7d4732c3f9f53d3057cec08b47d24793f65adb Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: vbox4_ubuntu_16_04_64.run recipe
Hey Chris, additionally to Alexander guide I'd like to add that Virtual Disk Image (VDI) files carry a UUID for identification that is also specified in the .vbox file. So please make sure that the UUIDs of the VDIs match those in the configuration files. For vm_ubuntu_16_04_64.vbox You may retrieve the UUID of an VDI via vboxmanage showhdinfo | grep ^UUID on any Linux machine. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Provide session from libc code
Hello Johannes, On Mon, Oct 16, 2017 at 01:42:04PM +0200, Johannes Kliemann wrote: > I tried to create a provide an input session from a libc (in this case > an Qt application). If I just run it from the Main struct it will > correctly announce the session but since Main never returns, no client > will be able to use it. > I tried to circumvent this by putting the application into a separate > thread but this led to the following error: > > > Error: void Libc::Kernel::run(Libc::Application_code&) called from > > non-kernel context > > Running this Qt application without wrapping it into with_libc makes it > segfault on initialization. > > What is the correct way to do this? My current main is at [1]. Unfortunately, there is no "correct" way of implementing tasks like the described currently. I must admit that with_libc() is the most confusing function in Genode currently and we therefore will remove it from the API soon. In fact, I myself did not expect that with_libc() is needed in your context but there may be dependencies unknown to me. I'd suggest a careful look into libports/src/app/avplay which provides an input session too. The approach there is to create a second Genode entrypoint for the input service and execute Qt code in the component thread. I strongly encourage you not just to copy the avplay code as it uses the older, low-level Rpc_entrypoint but use Genode::Entrypoint. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: default-route config
Hello Johannes, On Fri, Oct 13, 2017 at 04:04:40PM +0200, Johannes Kliemann wrote: > I tried to completely remove the default-route with > any-service/any-child from my runfile and only explicitly allow services > to components. > I have created a minimal example with only the timer driver [1] but I > wasn't able to explicitly grant service access to the timer driver. > > When I prepend with an explicit > > > > > > > > the timer driver fails with a denied PD environment session. This route looks odd as it reads: Route any requests to service "PD" to the child "timer". > What is the correct approach to do this? You email missed the reference [1] but I would adapt log.run like follows. +++ b/repos/base/run/log.run @@ -10,12 +10,15 @@ install_config { - - - + + + + + + } Does this answer your question? Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: catching Socketfs Inaccessible exceptions
Hello Steve, On Tue, Oct 03, 2017 at 02:15:59PM -0500, Steven Harp wrote: > Experimenting with the VFS socket plugin, I'm tripping over > an exception that I'm not sure how to handle. This is > demonstrated in the "netty_tcp" test, which launches two > echo servers, one listening on port 80, and another on port > 8080. Both servers launch and become operational on about > 25% of runs (under x86_64, nova kernel, QEMU, user network); > on the remaining starts, one of the servers succeeds, but the > other fails like this: > > #+BEGIN_EXAMPLE > [init -> netty-server-8080] initialize server > [init -> netty-server-80] initialize server > [init -> netty-server-8080] sd=0 > [init -> netty-server-8080] config: port=8080 read_write=0 nonblock=0 > [init -> netty-server-8080] setsockopt: SO_REUSEADDR not yet implemented - > always true > [init -> netty-server-80] sd=0 > [init -> netty-server-80] config: port=80 read_write=0 nonblock=1 > [init -> netty-server-80] setsockopt: SO_REUSEADDR not yet implemented - > always true > [init -> netty-server-80] Error: plugin()->open("/socket/tcp/2/listen") failed > [init -> netty-server-80] Error: _fd_for_type: listen file not accessible > [init -> netty-server-8080] test in blocking mode > [init -> netty-server-80] Error: Uncaught exception of type > 'Socket_fs::Context::Inaccessible' > [init -> netty-server-80] Warning: abort called - thread: ep > [init] child "netty-server-80" exited with exit value 1 > #+END_EXAMPLE > > Empirically, it appears that the server that gets past "setsockopt:..." > first will become operational--the other server usually will not. > The order seems to be non-deterministic. I'm currently working on this issue, which is documented in our issue tracker. https://github.com/genodelabs/genode/issues/2520 > Its not clear how to catch the 'Socket_fs::Context::Inaccessible' exception > in the netty server code, or even if that is an appropriate response. The exception must be catched in the libc backend code and should not be reflected to the application, i.e., netty, as the app uses a C API. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: run/demo in VirtualBox
Hello Thomas, On Mon, Oct 02, 2017 at 11:37:40PM -0500, Thomas Dundon wrote: > I cannot get the basic demo to work inside my VM. Here's my setup: > >- x86_64 machine running >- Windows 7 running >- VirtualBox 5.1.28 running >- Ubuntu 16.04 > > My process within the Ubuntu VM was: > >- Installed the various tools to build (genode-toolchain-17.05, >libsdl2-dev, etc) >- Ran git clone to get Genode 17.08 >- Ran *./tool/create_builddir linux BUILD_DIR=../build* >- Changed *build.conf* to enable MAKE += -j4 >- Ran *make run/demo* > > Everything builds fine but nothing significant happens. Here's the console > output (post build): > > using 'core-linux' as 'core' > using 'ld-linux.lib.so' as 'ld.lib.so' > using 'linux_timer_drv' as 'timer' > spawn ./core > Genode 17.08 > > 17592186044415 MiB RAM and 8997 caps assigned to init > Warning: blocking canceled in entrypoint constructor > this issue was discovered before and the progress is documented in the following ticket of our issue tracker. https://github.com/genodelabs/genode/issues/2521 Please give the mentioned commit a try. It fixes the issue for with 16.04 and linux kernel 4.4.0-93-generic as well as 4.4.0-96-generic. https://github.com/chelmuth/genode/commit/03a17e2cf61879cdfecb32df1484b3d058231a48 Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: ahci_drv default writeable?
Hello Steve, On Tue, Sep 26, 2017 at 11:59:17AM -0500, Steven Harp wrote: > Noticed that in 17.08 (and 17.05) these examples failed w. x86/nova > - run/libc_vfs_fs_fat > - run/libc_vfs_fat > apparently because: > > [init -> ahci_drv] read-only session opened at device 0 for 'test-libc_vfs > -> 0' > > so e.g., mkdir fails with EPERM. > > Hacking libports/run/libc_vfs_filesystem_test.inc to add writeable="yes" > to the "ahci_drv" component configuration: > > writeable="yes"/> > /> > > suffices, but maybe this is not appropriate. Was the default policy intended > to be > writeable="yes" for this driver? The writeable policy attribute was introduced with 17.08 in https://github.com/genodelabs/genode/commit/1fce8d0d7 and this commit also adapts the autopilot tests. Unfortunately, we missed to adapt libc_vfs_fs_fat and libc_vfs_fat, which remained undetected because those are not in tool/autopilot.list. The reason behind this is that the run scripts already use depot packages which our nightly build does not support currently. Regarding your original question: Yes, with least privilege in mind the default setting of "writeable" is false, which can be lifted by specifying writeable="true" in the policy node (as you already did). Thanks for reporting, I already crafted a patch for repos/libports/run/libc_vfs_filesystem_test.inc in https://github.com/genodelabs/genode/commit/8afb9f8 Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: config syntax in hw_gpio_drv?
Hello Steve, On Tue, Sep 19, 2017 at 11:51:44AM -0500, Steven Harp wrote: > In Genode 17.08 (master) on rpi platform with hw (or foc) base, > run/lxip_udp_echo seems to generate config XML that doesn't quite > pass the syntax check: [...] > 1. Suggestions? You're right, the run script is broken for platforms with gpio support. The attached patch should fix it and will be merged to staging soon. > 2. Is it reasonable to suppose this should run okay on RPI-version (v1,2,3?) > hardware? This script is not part of our nightly autopilot run but only used for developments. Therefore, this regression remained undetected. Scripts that always work can be found in tool/autopilot.list. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth repos/dde_linux/run/lxip_udp_echo.run | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/dde_linux/run/lxip_udp_echo.run b/repos/dde_linux/run/lxip_udp_echo.run index 82e7d2d..06e5001 100644 --- a/repos/dde_linux/run/lxip_udp_echo.run +++ b/repos/dde_linux/run/lxip_udp_echo.run @@ -61,8 +61,8 @@ append config { append_if [have_spec gpio] config { - - + + } -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode on i.MX6Q Sabre Lite
On Wed, Sep 13, 2017 at 12:44:11PM +0200, Alexander Boettcher wrote: > On 13.09.2017 08:48, Alexander Boettcher wrote: > > The UART for Sabre Lite and Wand Quad are not the same, as far as I know. > > Sorry, my assumption seems to be wrong, since the messages above are > from the seL4 elfloader already. > > So I presume you have just to adjust the seL4 kernel autoconf.h to match > the Sabre lite board. The kernel differentiates Sabre Lite and Wandboard regarding UART config and available RAM. $ grep -rnA2 'CONFIG_PLAT_SABRE\|CONFIG_PLAT_WANDQ' . ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h:75:#define CONFIG_PLAT_WANDQ 1 ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-76-#define CONFIG_HAVE_LIB_PLATSUPPORT 1 ./src/kernel/sel4/configs/imx6/wand_quad/autoconf.h-77-#define CONFIG_NUM_DOMAINS 16 -- ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:55:#if defined(CONFIG_PLAT_SABRE) ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-56-/* Sabre has 1 GiB */ ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-57-{ /* .start = */ 0x1000, /* .end = */ 0x5000 } ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h:58:#elif defined(CONFIG_PLAT_WANDQ) ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-59-/* Wandboard Quad: 2 GiB */ ./src/kernel/sel4/include/plat/imx6/plat/machine/hardware.h-60-{ /* .start = */ 0x1000, /* .end = */ 0x9000 } -- ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:15:#ifdef CONFIG_PLAT_SABRE ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-16-#define UART_PADDR UART2_PADDR ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h:17:#elif defined(CONFIG_PLAT_WANDQ) ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-18-#define UART_PADDR UART1_PADDR ./src/kernel/sel4/include/plat/imx6/plat/machine/devices.h-19-#else Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: ffat_fs server build in 17.08?
Hello Bob, On Wed, Aug 30, 2017 at 06:32:29PM +, Bob Stewart wrote: > I read the release notes. It does not say the ffat_ fs server is > deprecated. It should stillbe buildable in this release! You're right, the release notes do not mention that ffat_fs was renamed to fatfs_fs for reasons of consistent naming of components/libraries using the fatfs port. So, please to to build and integrate fatfs_fs as replacement. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Receiving message written by writev() in multiple chunks
Hi Alexander, I share your feeling that it may be better to adopt the behavior of Linux and Android to stay on safe grounds. But on the other hand, I could not find any reference which states that recv() will return a complete TCP segment in all cases (only the opposite, e.g., [1]). Please correct me if I'm wrong. Therefore, any application relying on this fact would be broken. Regarding writev() to the local socket buffer most implementations also seems to gather all data from the iovec in one run. But, this is hidden from the receiver, which has to expect that the data was fragmented on any network layer including the syscall interface. For these reasons, I suggest we leave the implementation as is for now. [1] https://stackoverflow.com/questions/3198049/what-value-will-recv-return-if-it-receives-a-valid-tcp-packet-with-payload-siz Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: error on building tool_chain_rump
Hello Jan-Ralph, given your reasonable current host Linux I expect an incompatibility of Rump with your recent host tool chain. I did not try this myself but the following error seems to hint that. On Mon, Aug 14, 2017 at 05:16:54PM +, Jan-Ralph Sroka wrote: > inode.c: In function 'swap_dinode2': > inode.c:378:21: error: iteration 2u invokes undefined behavior > [-Werror=aggressive-loop-optimizations] > dp2->di_extb[j] = bswap64(dp2->di_extb[j]); You may install an older (version 4?) Ubuntu GCC, generate appropriate symbolic links for gcc etc. in a distinct directory, add that directory to the front of your PATH environment variable, and rebuild tool_chain_rump. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Networking Support in VirtualBox
etermine default > Guest Additions ISO location. Most likely they are not availae > [init -> vbox2] i_saveSettings skipped > [init -> vbox1] i_saveSettings skipped > [init -> vbox2] Using VMX virtualization extension. > [init -> vbox2] Warning: _fpathconf: _fpathconf not implemented > [init -> vbox1] Using VMX virtualization extension. > [init -> vbox2] Warning: statfs provides bogus values for '//test.iso' > (probably a shared folder) > [init -> vbox1] Warning: _fpathconf: _fpathconf not implemented > [init -> vbox1] Warning: statfs provides bogus values for '//test.iso' > (probably a shared folder) > [init -> vbox2] EMT > [init -> vbox2] EMT !!Assertion Failed!! > [init -> vbox2] EMT Expression: > [init -> vbox2] EMT Location : /home/chris/genode/contrib/virtualbox5 > [init -> vbox2] > -63197fb01f1442acf40937798b78d036450296bd/src/app/virtualbox/src/VBox/VMM/VMMR3/PDMDriver.cpp(814) > int pdmR3DrvInsta, > [init -> vbox2] PCFGMNODE, PPDMIBASE, PPDMDRVINS, PPDMLUN, PDMIBASE**) > [init -> vbox2] > [init -> vbox2] !!Assertion Failed!! > [init -> vbox2] Expression: > [init -> vbox2] Location : > /home/chris/genode/contrib/virtualbox5-63197fb01f1442acf40937798b78d036450296bd/src/app/virtualbox/src/VI > [init -> vbox2] BASE, PPDMDRVINS, PPDMLUN, PDMIBASE**) > [init -> vbox2] EMT Driver 'NAT' wasn't found! > [init -> vbox2] Driver 'NAT' wasn't found! The .vbox config uses the NAT backend, which is not supported. Please change test.vbox according to (for example) vm_win10.vbox: > Warning: unresolvable exception 3, pd 'init -> vbox2', thread 'EMT', cpu 0, > ip=0x168a3d3 no signal handler This is the result of the assertion which calls "int3". > [ 0] Killed EC:0x831b1dc0 SC:0x830faac0 V:0xfe CR0:0x0 > CR3:0x0 CR4:0x0 (IPC Abort) > [init -> vbox1] EMT > [init -> vbox1] EMT !!Assertion Failed!! > [init -> vbox1] EMT Expression: > [init -> vbox1] EMT Location : /home/chris/genode/contrib/virtualbox5 > [init -> vbox1] > -63197fb01f1442acf40937798b78d036450296bd/src/app/virtualbox/src/VBox/VMM/VMMR3/PDMDriver.cpp(814) > int pdmR3DrvInsta, > [init -> vbox1] PCFGMNODE, PPDMIBASE, PPDMDRVINS, PPDMLUN, PDMIBASE**) > [init -> vbox1] > [init -> vbox1] !!Assertion Failed!! > [init -> vbox1] Expression: > [init -> vbox1] Location : > /home/chris/genode/contrib/virtualbox5-63197fb01f1442acf40937798b78d036450296bd/src/app/virtualbox/src/VI > [init -> vbox1] BASE, PPDMDRVINS, PPDMLUN, PDMIBASE**) > [init -> vbox1] EMT Driver 'NAT' wasn't found! > [init -> vbox1] Driver 'NAT' wasn't found! > Warning: unresolvable exception 3, pd 'init -> vbox1', thread 'EMT', cpu 0, > ip=0x168a3d3 no signal handler > [ 0] Killed EC:0x831f6700 SC:0x830fad60 V:0xfe CR0:0x0 > CR3:0x0 CR4:0x0 (IPC Abort) Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Networking Support in VirtualBox
Chris, On Tue, Jul 25, 2017 at 09:46:52AM -0400, Chris Rothrock wrote: > The run recipe I am using is virtualbox.run. In this recipe there is no > indications that the ACPI has any configurable components. These > capabilities must be set in another file that this recipe is calling - > please tell me where these would be found so that I can adjust the caps on > acpi. The capability configuration is factored out into repos/base/run/platform_drv.inc. You may change the acpi_drv caps in line 133 Which Genode branch/version/commit hash are you using? I never experienced a log like yours where one and the same log contents appear three times pasted over each other. -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Networking Support in VirtualBox
rning: _sigaction: _sigaction not implemented > [init -> vbox2] Warning: _sigaction: _sigaction not implemented > [init -> vbox1] Warning: issetugid called, not yet implemented, returning 1 > [init -> vbox1] Warning: issetugid called, not yet implemented, returning 1 > [init -> vbox2] Warning: issetugid called, not yet implemented, returning 1 > [init -> vbox2] Warning: issetugid called, not yet implemented, returning 1 > [init -> vbox1] Error: fcntl(): command 2 not supported > [init -> vbox1] Log created: 2017-07-24T20:00:00.0Z > [init -> vbox1] main Executable: /virtualbox > [init -> vbox1] Error: SystemPropertiesWrap : Cannot determine default > Guest Additions ISO location. Most likely they are not available > [init -> vbox2] Error: fcntl(): command 2 not supported > [init -> vbox2] Log created: 2017-07-24T20:00:00.0Z > [init -> vbox2] main Executable: /virtualbox > [init -> vbox2] Error: SystemPropertiesWrap : Cannot determine default > Guest Additions ISO location. Most likely they are not available > [init -> vbox1] Warning: _sigaction: _sigaction not implemented > [init -> vbox1] i_saveSettings skipped > [init -> vbox2] Warning: _sigaction: _sigaction not implemented > [init -> vbox2] i_saveSettings skipped > [ 0] DMAR:0xc002a060 FRR:0 FR:0x5 BDF:0:14:0 FI:0xb3575000 > [ 0] DMAR:0xc002a060 FRR:0 FR:0x5 BDF:0:14:0 FI:0xb3575000 > [ 0] DMAR:0xc002a060 FRR:0 FR:0x6 BDF:0:14:0 FI:0xb3575000 I expect PCI device 0:14:0 to be your NIC which still finished some DMA transactions after network boot. Is that correct? As the ACPI driver does not finish its initialization the platform driver and all other drivers cannot start. If you fix the cap shortage your scenario will proceed further. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: libc blocking functions/with_libc inside thread
Hello Boris, On Mon, Jun 26, 2017 at 02:46:08PM +0200, Boris Mulder wrote: > Actually the OpenVPN code hangs once it calls the libc socket() > function. Internally, this function calls a blocking write(), and this > write() is handled by Libc::Kernel. thanks to your provided test case and the hint with "blocking write" I was able to validate my suspicion about the blocker in your scenario. A rough sketch of my solution can be found here https://github.com/chelmuth/genode/commits/openvpn_17.05. The issue is the unfortunate interplay of I/O-signal handling in the initial entrypoint and the current implementation of the VFS plugin, which interfaces with our file-system session. In the case of "blocking write" the VFS plugin calls wait_and_dispatch_one_io_signal() directly on the initial entrypoint. In your scenario this results in the initial-entrypoint thread and the OpenVPN thread racing on the handling of first I/O signal. As the entrypoint always wins, the OpenVPN thread is blocked until another I/O signal occurs (which may never happen in the startup phase). The sketched solution just reverses the roles of the first and second application thread. Now, the initial entrypoint implements OpenVPN (handling its own I/O signals) and the additional entrypoint implements the NIC server (with root and session component). I hope this helps. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth > So openVPN does not send or receive any packet yet as it is blocked at > socket(). > > Earlier, we have used lwip as a socket library. When we did that, > socket() (and connect() in TCP mode) did work, but it failed to send any > initial data to the server, likewise blocking on some function. > > We are reaching the limit of our knowledge of genode libc and the > side-effects of the asynchronous entrypoint. At this point our debugging > went down into the libc kernel and there is a limit how deep we can go. > Help on this topic would be appreciated. > > We uploaded the new 17.05 ready code of openVPN (including a run script > which can be run through make run/openvpn) onto > https://github.com/nlcsl/genode/tree/openvpn_17.05 . > > If you have the time, could you try to run it and see if it is possible > to let it produce a single UDP packet? For this, it is not necessary to > setup a server. From there, we could pick it up again. > > We appreciate it, > > Boris > > > On 26-06-17 10:57, Christian Helmuth wrote: > > Hello Boris, > > > > On Fri, Jun 23, 2017 at 03:59:53PM +0200, Boris Mulder wrote: > >> The entrypoint creates the root component, spawns the thread and > >> returns. It will then handle RPC requests, as entrypoints do IIRC. > >> > >> The program acts as a server (serving Nic sessions asynchronously) and > >> as a client to lxip vfs with libc. the code can be found in [1]. > >> > >> How can I have the entrypoint handle I/O signals in libc while also > >> being able to serve clients in Genode? > > This should happen automatically under the hood as libc processes > > signals in ordinary I/O signal handlers in the entrypoint. > > > > Are you able to run the scenario under linux and inspect the > > processing of both threads via GDB? I fear that I cannot help with > > specifics of OpenVPN, but may guide with more details about the > > blocking situation. It may be interesting to know if any network > > packets reach the OpenVPN code. > > > > Greets > > -- > > Met vriendelijke groet / kind regards, > > Boris Mulder > > Cyber Security Labs B.V. | Gooimeer 6-31 | 1411 DD Naarden | The Netherlands > +31 35 631 3253 (office) > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > genode-main mailing list > genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: libc blocking functions/with_libc inside thread
Hello Boris, On Fri, Jun 23, 2017 at 03:59:53PM +0200, Boris Mulder wrote: > The entrypoint creates the root component, spawns the thread and > returns. It will then handle RPC requests, as entrypoints do IIRC. > > The program acts as a server (serving Nic sessions asynchronously) and > as a client to lxip vfs with libc. the code can be found in [1]. > > How can I have the entrypoint handle I/O signals in libc while also > being able to serve clients in Genode? This should happen automatically under the hood as libc processes signals in ordinary I/O signal handlers in the entrypoint. Are you able to run the scenario under linux and inspect the processing of both threads via GDB? I fear that I cannot help with specifics of OpenVPN, but may guide with more details about the blocking situation. It may be interesting to know if any network packets reach the OpenVPN code. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: libc blocking functions/with_libc inside thread
Hey, On Fri, Jun 23, 2017 at 03:21:28PM +0200, Boris Mulder wrote: > Basically if I do not use with_libc, the call to socket() will hang > forever inside the first read() call to the socket file. So, which code does your initial entrypoint execute? As I wrote before, the initial entrypoint is responsible for completing the I/O operations in Libc components. In other words, if the initial entrypoint does not block and then handle libc I/O signals, other threads blocked in the libc will never resume. > The reason I used a Genode::Thread was because openvpn already did > that. Do you think using a pthread might be better in this case? No, I was just curios ;-) Grets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: libc blocking functions/with_libc inside thread
Hello Boris, On Fri, Jun 23, 2017 at 02:24:01PM +0200, Boris Mulder wrote: > However, sockets in lxip require the use of the with_libc() function. > When I put this around the openvpn_main() call it gives me the error: > > Error: void Libc::Kernel::run(Libc::Application_code&) called from > non-kernel context > > The catch here is that I'm calling all this from inside the code of a > Genode::Thread which executes the main function of openvpn. It seems > that I cannot use with_libc inside another thread than the entrypoint > thread. We also identified that exposing the with_libc() in the Libc API was the wrong direction. Therefore, we'll work on moving this aspect back into the libc internals in the future. You're right with regard that with_libc is not permitted/needed for other threads/pthreads in libc applications. Blocking situations are handled differently for threads beside the main entrypoint. But, the main entrypoint thread needs to finish I/O operations by handling the I/O signals of Genode sessions used by the component. > calling with_libc inside Component::construct() does not work for the > new thread. It will fail when calling socket(). > > Is there any way of using sockets correctly inside another thread? How does socket() fail if you do not wrap the call with with_libc()? I'd expect the thread to open a socket_fs file and maybe block for the I/O operation to complete. Also, is there any reason to use a Genode::Thread which uses POSIX interfaces only (beside the admittedly more concise syntax compared to pthread_create())? Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: VFS documentation
Hello Ben, On Sun, Jun 04, 2017 at 05:03:33PM -0600, Nobody III wrote: > I've been modifying my file manager to use the VFS library as its backend, > but I'm not entirely sure how to use properly, and I haven't found much > documentation on how to use it (especially how to write to files) > asynchronously. Could someone please explain this, and ideally add it to > the official documentation as well? The VFS library is not intended to be used directly for development of custom components. It's more like a backend library (resp. utility) currently used by Noux, libc and the VFS server only. Therefore, the API has some rough edges and will undergo continues changes in mid-term. At the moment we're working on the asynchronous write part in the context of Noux. In consequence, there's currently almost no documentation beside the updates in the past release notes. For now as I understand you're using Qt5 to implement your file manager, I'd suggest you use the Qt or libc file API to benefit from the VFS. In the future, we may develop some utilities for specific use cases that may use the VFS directly and provide a documented and stable API but there's no definite plan. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Tool chain instructions
Thanks for the hint, I updated the Genode repo accordingly. The website update is pending. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth On Fri, Jun 02, 2017 at 02:24:53PM +0200, Johannes Kliemann wrote: > Hi, > > with the new toolchain, the compression has changed from bzip2 to xz. > The toolchain instructions [1] still state to use > > > sudo tar xPfj genode-toolchain--.tar.bz2 > > This doesn't work anymore as `-j` requires bzip2 and fails with the > following error: > > > bzip2: (stdin) is not a bzip2 file. > > tar: Child returned status 2 > > tar: Error is not recoverable: exiting now > > A fix would be omitting `-j`, resulting in > > > sudo tar xPf genode-toolchain--.tar.xz > > This is also safe since current versions of tar extract bzip2 without > the usage of `-j`. > > Regards, > JK > > [1]: https://genode.org/download/tool-chain > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > genode-main mailing list > genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: nic_drv crashes with resource request
Hello Boris, On Mon, May 22, 2017 at 10:24:32AM +0200, Boris Mulder wrote: > When I try to run my scenario under the latest master branch, the > nic_drv stops working with the following message: > > [init] child "nic_drv" announces service "Nic" > [init -> nic_drv] resource_request: ram_quota=1642496 > [init -> nic_drv] used before freeing emergency=2478080 > [init -> nic_drv] used after freeing emergency=2461696 > [init] child "nic_drv" requests resources: ram_quota=1642496 Unfortunately, I can't reproduce this issue with master (f6386c6ce1) and "make run/lwip KERNEL=nova". Could you please provide a bit more context about the used test case and hardware configuration? Does any other component complain about insufficient RAM? Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Acpica build error
Hello Johannes, On Mon, May 15, 2017 at 01:16:45PM +0200, Johannes Kliemann wrote: > I tried to play around with the acpica port. I strongly used the code > from `/repos/libports/src/app/acpica/os.cc` as reference. When I compile > my code, I get the following error: > > > /.../genode/repos/demo/src/app/acpi_i2c/main.cc: In constructor > > ‘Acpica::Main::Main(Genode::Env&)’: > > /.../genode/repos/demo/src/app/acpi_i2c/main.cc:54:49: error: no match for > > call to ‘(Genode::Signal_handler) (Genode::Entrypoint&, > > Acpica::Main&, void (Acpica::Main::*)())’ > > sci_irq(env.ep(), *this, ::acpi_irq) Please remove line 53 because it's redundant resp. looks like a copy-paste error. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: acpica test
Hello Johannes, On Thu, May 11, 2017 at 01:10:23PM +0200, Johannes Kliemann wrote: > when I try to run `make run/acpica` from [1], I get the following error > message: > > > Genode 17.02-75-g1fcc16420 > > 85 MiB RAM assigned to init > > [init] Warning: acpi_input: no route to service "RAM" > > [init] Error: Uncaught exception of type 'Genode::Parent::Service_denied' > > [init] Warning: abort called - thread: ep > > child "init" exited with exit value 1 > > How can I fix this? This issue is fixed on the master branch already. Please see https://github.com/genodelabs/genode/commit/770c7548d8f8dc591f4d0f7540799757c89e9ff2 for reference. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello, On Sat, Apr 29, 2017 at 08:48:42AM +, Janardhan wrote: > When i am installing dde_linux its showing below error. > > ./tool/ports/prepare_port dde_linux > > dde_linux update src/lib/usb/drivers/usb/host/dwc_otg > dde_linux extract linux-4.4.3.tar.xz (usb) > dde_linux extract linux-4.4.3.tar.xz (intel_fb) > dde_linux extract linux-4.4.3.tar.xz (lxip) > dde_linux extract linux-4.4.3.tar.xz (wifi) > Error: Hash sum check for libnl failed > make[2]: *** [libnl.file] Error 1 > make[1]: *** [_install_in_port_dir] Error 2 > make: *** [dde_linux] Error 2 Please remove the contrib/dde_linux- directory and run prepare_port again. It seems yur stuck in some intermediate state. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello Janardhan, On Tue, Apr 25, 2017 at 05:32:59AM +, Janardhan wrote: > while booting tiny core Linux in virtual box its showing below message > getting continuously. > > > [init -> virtualbox] Warning: invalid gueststate continuously. > > Here tinycore linux iso image i renamed as test.iso and copied to bin folder. From this little information, it is hard to identify the cause of the issue. Please always provide thorough information about your test scenario including used hardware platform resp. Qemu version, make command line, and complete log output. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello Janardhan, On Fri, Apr 21, 2017 at 06:03:24AM +, Janardhan wrote: > I installed all required packages expect libc.While installing libc it's > showing below error. > > ./tool/ports/prepare_port libc > libc download http://svn.freebsd.org/base/release/8.2.0/lib/libc > svn: E175002: Unable to connect to a repository at URL > 'http://svn.freebsd.org/base/release/8.2.0/lib/libc' > svn: E175002: Unexpected HTTP status 400 'Bad Request' on > '/base/release/8.2.0/lib/libc' > > make[2]: *** [libc.svn] Error 1 > make[1]: *** [_install_in_port_dir] Error 2 > make: *** [libc] Error 2 > > And also i tried to download manually but it's not downloaded. > > is there any other way to install libc package in genode? This looks like an issue with one of the FreeBSD SVN mirrors (see [1] for a description). I double checked just now that it principally works. I suggest you give it another try. Another issue could be your local netowrk environment and you may check that SVN over HTTP works for other repositories outside your local network. [1] https://www.freebsd.org/doc/handbook/svn.html#svn-mirrors Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello, the log helps much to identify the issue... On Thu, Apr 20, 2017 at 12:54:30PM +, Janardhan wrote: > make run/virtualbox [...] > Library-description file libc.mk is missing > Library-description file libm.mk is missing > Library-description file libc-mem.mk is missing > Library-description file stdcxx.mk is missing > Library-description file pthread.mk is missing > Library-description file libc_terminal.mk is missing > Library-description file libc_pipe.mk is missing > Library-description file libiconv.mk is missing > Library-description file qemu-usb.mk is missing The missing libraries are suspicious and because virtualbox depends on libc etc. it will not be built due to unresolved dependencies. I suggest you edit etc/build.conf and (as a shortcut) enable all stated repositories. Also, please be aware that Qemu is really slow when emulating hardware-virtualization features. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello Janardhan, On Thu, Apr 20, 2017 at 11:30:34AM +, Janardhan wrote: > I enabled ports repository in etc/build.conf file,but still i am getting > below error. Again, please post a complete build log incl. your "make" command line. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: compiling genode with Virtual box tiny core Linux
Hello Janardhan, welcome to the list. Please find my answer below the quoted text. On Thu, Apr 20, 2017 at 07:10:03AM +, Janardhan wrote: > I am trying to compile genode with the support of virtual box and tiny core > Linux .While compiling i am getting below error > > library dependencies... > Library cxx > Library alarm > Library timed_semaphore > Library config > Library startup-nova > Library base-nova-common > Library base-nova > Library ldso-startup > Library ld-nova > Program lib/ld/nova/ld-nova > Program kernel/nova/hypervisor > make[1]: Leaving directory `/home/janardhan/genode/build/nova_x86_64' > genode build completed > using 'ld-nova.lib.so' as 'ld.lib.so' > using 'nova_timer_drv' as 'timer' > cp: cannot stat ‘bin/virtualbox-nova’: No such file or directory Unfortunately, your log is incomplete but I expect it states some skipped targets. The reason may be a missing repository (like you also experienced with x86emu). In this case, you may enable the ports repository in etc/build.conf, prepare the virtualbox port, and rebuild. If it still not works please post a complete build log. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Now: Nova not maintained [Earlier]: Understanding Muen [Earlier] Re: Problem with make run/demo ....
Hello Shahbaz Khan, On Wed, Apr 19, 2017 at 08:59:52AM +0500, Shahbaz khan wrote: > Please don't mind my changing the subject title. The truth is I do mind because this statement is wrong. Please refer to Alexander Böttcher's clarification https://sourceforge.net/p/genode/mailman/message/35795215/ Thanks -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Problem with make run/demo & run/hellofor fiasco.oc based build
Hello Shahbaz Khan, welcome to the list. On Wed, Apr 05, 2017 at 11:54:47AM +0500, Shahbaz khan wrote: > I have started working with Genode, while I am interested in foc based > development and it seems the Genode efforts also prefer foc as I have been > trying run/demo for builds. I would not go along with telling that we "prefer" base-foc as most of our scenarios run on all supported kernels. Prominent exceptions are support for hardware virtualization (only on NOVA and hw/Muen) and TrustZone (hw only). If you address ARM and x86 alike I'd suggest you try out base-hw. > I am facing a few problems. Some that makes sense as a developer, while > some are new to me and definitely need some hints to move forward. I have > encountered the following errors: > > x86_64 (run/demo & run/hello):- Error: target 'core' does not exist. >I was not able to figure out how to enable build core but it should > have been there by default like other Genode builds. This originates from a recent change in our framework regarding unifies build directories for all base platforms of a selected architectur. When running scenarios via "make
Re: [GSoC] UEFI framebuffer task
Hey Phillip, I assume Sebastian will not mind if I give a small hint according to item 3 on the list. ;-) On Tue, Mar 28, 2017 at 03:43:48PM +0200, Sebastian Sumpf wrote: > 3. Find and map the PCI I/O memory resource of the controller Have a look at os/run/pci.run and os/src/test/pci/test.cc to convince the platform_drv to hand out PCI devices to your driver component. Happy hacking -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: [Genode] Suggestion about mailing list subject
Hello all, the resonance on this suggestion was mixed and mild with no decisive majority. Therefore, I'll keep the configuration as is for now. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth On Tue, Feb 07, 2017 at 11:08:25AM +0100, Christian Helmuth wrote: > Hello Martín, > > On Mon, Jan 30, 2017 at 07:57:33AM -0500, Martin Iturbide wrote: > > I was wondering if it can be useful to configure the mailing list to > > include on the subject (before the text) something like [Genode] or > > [Genode-Main] . I know that it is easy to set a rule and folder for the > > mailing list messages on the mail client, but in some other cases I like to > > identify visually and fast the messages that are from this mailing list in > > a group of mails. > > > > This is just a thought, I don't know how hard or easy will be to configure > > this on the sourceforge mailing lists. > > Technically this is pretty simple by means of the Mailman > subject_prefix feature. I personally do not like all subject lines > written by users of the list cluttered with some prefix text. But, if > other members of the list also express their demand for this feature > and there's no overly resistance voiced I would enable it > nevertheless. > > Greets > -- > Christian Helmuth > Genode Labs > > https://www.genode-labs.com/ · https://genode.org/ > https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ > > Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden > Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > ___ > genode-main mailing list > genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Socket fs
Hello Boris, On Mon, Mar 13, 2017 at 03:48:54PM +0100, Boris Mulder wrote: > 1. In the release notes you describe the support for async file I/O. > However, it seems that while asynchronous I/O works now, synchronous I/O > is no longer possible. When I remove the select() call in the echo > scenario, the call to recvfrom() will fail saying the socket is not > connected (even though it is an UDP socket and should not have the > notion of connections at all). > > Of course this means it is not posix compatible; the intended behaviour > is to block until data becomes available. Thanks for your investigation. You're right the current state of socket support has some rough edges (esp. POSIX-correct error handling) that we plan to smoothen in near term. I'd like to invite you to open an issue at Github to aggregate your findings. > 2. Currently there are two ways an application can use tcp/ip sockets > from the lxip stack: By using libc sockets, and by directly opening a > file system session and writing to the right socket files. For any new > Genode application that does not already depend on libc, the first way > means you unnecessarily add the entirety of libc to your component. So > the second way seems preferred. > > However, when programming an application using a file system session > directly adds a lot of code with many open()s, read()s and write()s that > could be abbreviated into single calls such as connect() and recv(). > Have you thought of providing a more convenient API (such an > object-oriented Socket class that hides the vfs calls from the > application programmer)? Or do you consider using the fs session > interface to be better? If so, why? We do not plan to implement an abstraction layer or object-oriented Socket interface currently. The mere reason for our recent developments was to enable more POSIX network applications to run on Genode and to support those components to share one network stack. Also, we imagine to mount the socket FS into Noux and use traditional tools in shell scripts to interoperate with the network. I must admit that we (the Genode Labs team) do not assess ourselves as networking experts and, therefore, don't fancy to design and implement such a library. But as always nothing is set in stone and priorities may shift over time. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Exceptions in with_libc not working
Hello Boris, On Tue, Mar 14, 2017 at 03:11:27PM +0100, Boris Mulder wrote: > Whenever I throw an exception somewhere in code inside a with_libc > lambda expression, and try to catch it outside of that block, it will > not catch that exception. As I know the inner workings of the libc execution model this observation sounds pretty natural, because in the end with_libc() is just like: Please execute the given lambda body on an alternate stack. The C++ exception implementation on the other hand heavily depends on the current execution stack. Therefore, I wonder does it just not work as expected or does it break gloriously? > Example: > > |t||ry {| > > |Libc::with_libc([&] () { ... throw E||xception(); > ... } );| > > |} catch (Exception ) {|| > Genode::log("caught"); > } > > |The "caught" will never be printed in this case. What can I do to > fix/work around this? The only workaround I see at the moment is to move the exception handling also into the lambda function. Reflection of error or exceptional conditions to the enclosing function then could be implemented by return values or state changes in referenced objects. I admit that is not what one should expect from a C++ framework but to be fair with_libc() just bridges a strange gap between Genode components and the legacy C runtime world. We also had a small discussion about a more advanced solution where you may declare expected exception types that can be passed out of the lambda like we did for RPC. But, a solution with reasonable effort would also come with a bunch of limitations, e.g., that exception types could only be POD-like. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: lxip echo not working
Hello Boris, On Mon, Mar 13, 2017 at 10:07:57AM +0100, Boris Mulder wrote: > > Well, the socket() call seems to work now, but somewhere within bind() > it gives the following errors: > > [init -> echo] Warning: getnameinfo: getnameinfo not implemented > [init -> echo] Error: Uncaught exception of type '(anonymous > namespace)::Address_conversion_failed' > > it seems that inside libports/src/lib/libc/socket_fs_plugin.cc, it tries > to call an unimplemented function getnameinfo() and throws an exception > when that fails. > Just to make sure, I attached the code I copied from the echo test and > wrapped in the Component api. You're missing the libc_resolv libc plugin in your scenario. We intend to merge this library back into the libc in the future but for historical reasons it is currently a separate binary libc_resolv.lib.so. Please refer to repos/libports/run/echo_udp.run for an example integrating the plugin into the boot modules. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: lxip echo not working
Hello Boris, On Thu, Mar 09, 2017 at 12:00:23PM +0100, Boris Mulder wrote: > I'm trying to play around with the new lxip vfs plugin. First, I tried > running the echo_udp.run test (on linux), but when I run the echo > component it exits with the following error message: > > "Error: no plugin found for socket()" Unfortunately, a small bug slipped into the release which is already fixed in our staging branch https://github.com/genodelabs/genode/commit/72d59719409070684d267487e8c3e0485b80e3e3 Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: GSoc-2017: Platforms - Microkernelizing Linux, help needed
Hello Zhongze Liu, On Wed, Mar 01, 2017 at 11:58:41PM +0800, Sky Liu wrote: > BTW, do you have any suggestions on small related tasks that I can take in > prior to my formal application for the GSoC project? I think committing > small patches would be a great starting point to getting familiar with the > Genode codebase. While reading your question I recalled the missing feature in our x86 RTC driver, which is only able to read out the current time from the RTC. It would be really nice if the driver could also update the time on request. In detail, the feature has two aspects. First, the RTC driver has to be extended by the code for setting the CMOS clock according to the specification. Further, it needs to provide means to update the clock on request. The method of choice is the XML config of the component which could be extended by an XML node for the clock update. To support this feature the component code has to request and parse the config ROM initially but also register for updates of the configuration during runtime. The addition of this feature would not only help to get in touch with low-level driver code but also learn about the interaction of the RTC component with the surrounding system. If you're interested in this hacking project I'd be pleased to provide further guidance. The current driver can be found in the Genode sources at repos/os/src/drivers/rtc/spec/x86. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: [Genode] Suggestion about mailing list subject
Hello Martín, On Mon, Jan 30, 2017 at 07:57:33AM -0500, Martin Iturbide wrote: > I was wondering if it can be useful to configure the mailing list to > include on the subject (before the text) something like [Genode] or > [Genode-Main] . I know that it is easy to set a rule and folder for the > mailing list messages on the mail client, but in some other cases I like to > identify visually and fast the messages that are from this mailing list in > a group of mails. > > This is just a thought, I don't know how hard or easy will be to configure > this on the sourceforge mailing lists. Technically this is pretty simple by means of the Mailman subject_prefix feature. I personally do not like all subject lines written by users of the list cluttered with some prefix text. But, if other members of the list also express their demand for this feature and there's no overly resistance voiced I would enable it nevertheless. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: tcp_terminal on linux
Hello Prashanth, On Thu, Feb 02, 2017 at 05:19:46PM -0800, Prashanth Mundkur wrote: > After disabling the have_spec check, I can compile and run it. After > setting the suid bit on drivers/nic/spec/linux/nic_drv to allow it to > access /dev/net/tun, I get the following output: Just a remark to prevent setting suid: I setup my tap0 device so that in can be used by my user ID like follows in /etc/rc.local on Ubuntu. # # Setup tap device for base-linux tests # dev=tap0 user= ip tuntap add dev $dev mode tap user $user ip address flush dev $dev ip address add 10.0.2.1/24 brd 10.0.2.255 dev $dev ip link set dev $dev addr 02:00:00:ca:fe:01 ip link set dev $dev up But now to your question... > Though I can see the tap device, > > 15: tap0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT > group default qlen 1000 > link/ether c2:60:31:f8:52:fc brd ff:ff:ff:ff:ff:ff > > I don't see any listening socket on port . > > So clearly there is some missing plumbing. What do I need to do to > fill that in? If you mean you can't see any listening program on port on your host machine that's expected. Genode is running in a virtual network behind the tap0 device. Additionally, the log states that the tcp_terminal uses DHCP for network configuration but you may not run a DHCP server on tap0. Now you have two option: Configure a DHCP server to serve a private network behind tap, e.g., 10.0.2.1/24, or (much simpler) configure tcp_terminal statically. Therefore you apply the following changes to the run script (assuming the example network above). - + The terminal should then be accessible at 10.0.2.55:. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: foc_odroid_x2 with tftp boot via uboot on odroid u3
Hi, I've just a small hint regarding the following issue. On Wed, Jan 25, 2017 at 07:30:11PM +0100, Bernhard Blieninger wrote: > mkimage -A arm -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr > > Problem now is that is says something like: > >*ERROR: booting os 'Unknown OS' (3) is not supported* When generating an uImage mkimage supports to set the operating system in the commandline via '-O '. So, your mkimage command line should read mkimage -A arm -O linux -C none -T script -n 'Custom Boot Script' -d boot.txt boot.scr Hope it helps -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Roadmap 2017
Hi Peter, On Thu, Dec 22, 2016 at 03:29:53PM -0800, Peter Lindener wrote: > Yes getting Genode to run on your "shiny new Lenovo x260" would be a > good thing!... here, basic leading edge platform support seem > critical if the Genode community is to attract (and keep) more > capable developers. I recently invested in a DELL XPS 15.. as the > x250 suggested at the time only came with 16Gig of ram.. so if there > is a Laptop hardware list that supports Genode development, I will > help make it happen, but it would be great if supporting the DELL > XPS 13, 15 were on the Genode development ToDo: list. There is an unofficial hardware-compatibility list maintained by Josef Söntgen at http://usr.sysret.de/jws/genode/hcl.html that gathers what we, Genode Labs team, tested and also other Genode users reported. This said, hardware compatibility is already a kind of community effort and I doubt the Genode team in Dresden will be able to extend their efforts to enable specific x86 devices considerably more. If you like to help to enable the XPS 13/15, you are very welcome to post detailed hardware specifications, report which devices work currently and which don't as well as provide more information to help others to support you. >I find encouragement that Genode already supports the Zynq_7000 SOC. >Then it might be good to support at least one of the most common > ARMv8_64 bit targets... most likely the Raspberry Pi 3.. The Raspberry Pi 3 is fairly appealing platform and we also discussed to add support to Genode during some coffee breaks. For me the topic has two main questions: 1) What could be the main motivation to support the RPi 3 (or any other ARMv8 device)? 2) If we add support, to which extend (regarding peripherals) should we support the platform and can we avoid regressions in the future. Both questions have much room for personal opinions, but for me the main motivation (1) can only be that I myself (or any other active participant of the Genode community) likes to use the device in a reasonable application scenario. Then regarding (2), the required support for peripherals is also defined and the user of the platform will naturally test the device, which uncovers regressions. Do you have an application scenario in mind? Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/intel ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Listing a directory using the file system session
Hello Martijn, On Thu, Dec 15, 2016 at 01:42:45PM +0100, Martijn Verschoor wrote: > I’m looking for a way to list the files (nodes) in a directory using > a file system session. Amongst other, I studied the > File_system::Session and file_system/utils.h but cannot find a hook > to get started. I see that reading the directory nodes is supported > -> this returns the Directory_entry struct with information about > the directory itself, but not about the nodes the directory contains > (right?). Is there a way retrieve the latter? You are on the right track, that reading directory entries (like in dirent()) is provided as read operation on directory nodes. Please have a look at os/src/lib/vfs/fs_file_system.h for an implementation of dirent(). The trick is to use n * sizeof(::File_system::Directory_entry) as file_offset parameter to read the n-th entry. Hope this helps -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Yet another question
Hello Florian, On Tue, Dec 13, 2016 at 07:11:52PM +0100, Florian Grätz wrote: > I am running Ubuntu 16.10 64 bits in a Virtual Box on a Windows 10 host: > florian@Linde:~/genode/build/linux_x86$ uname -a > Linux Linde 4.8.0-30-generic #32-Ubuntu SMP Fri Dec 2 03:43:27 UTC 2016 > x86_64 x86_64 x86_64 GNU/Linux The reference to Ubuntu 16.10 rings a bell. I read about an issue of this particular Ubuntu version enabling "position-independent executables" by default in the distros GCC tool chain from the following issue (unrelated to Genode) https://github.com/ldc-developers/ldc/issues/1618 Maybe you can help me remotely as I have no access to a recent Ubuntu installation. Please try to add the following line at the end of repos/base-linux/lib/import/import-lx_hybrid.mk and try to rerun the demo scenario. CXX_LINK_OPT += -no-pie Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Assembly at 33C3?
Hi, I just discovered that a lot of 33C3 assemblies already entered the Wiki https://events.ccc.de/congress/2016/wiki/Category:Assembly Johannes, did you apply too? Greets Christian On Wed, Sep 28, 2016 at 10:56:14AM +0200, Johannes Schlatow wrote: > That's great, Stefan. And no, it's not too late. It's actually too early as > assemblies will be organised in the wiki, which is (afaik) not online yet. > I'll keep you updated here. > > Cheers > Johannes > > On Wed, 28 Sep 2016 10:13:36 +0200 > Stefan Kalkowski <stefan.kalkow...@genode-labs.com> wrote: > > > Hi Johannes, > > > > sorry for the late response. I don't know whether it is already to late > > to apply for, but if you are still willing to organize an assembly you > > can count on me. I'll join you at the assembly, can provide help with > > Turmvilla/Heeselicht and Co., and I think about presenting something new > > with TOR. > > > > Best regards > > Stefan > > > > On 09/02/2016 01:37 PM, Johannes Schlatow wrote: > > > Hi Genode hackers, > > > > > > recently, the call for participation for the 33th Chaos Communication > > > Congress [1] has been released, an amazing event I very much enjoy > > > attending for quite a few years now. > > > > > > This year, I'm thinking about organising an assembly at which I can focus > > > on some side projects of mine that are partly Genode related. > > > > > > For those of you who are not familiar with the concept: An assembly is a > > > self-organised get-together and typically targeted at a certain topic. > > > I.e. it can be a place for exchanging ideas, lively discussion and even > > > collaborative hacking, and all of this for the entire congress. ;-) > > > > > > As the Genode community seems to be growing, I'd like to ask whether > > > someone here is 1) considering attending the 33C3 and 2) interested in an > > > assembly about Genode-related projects? > > > > > > @GenodeLabs: > > > I reckon that the date of the congress might not be very convenient for > > > some of you. Nevertheless, I think it'd be great having one or more > > > Genode experts at the congress to represent the project properly. I also > > > see the opportunity for you to do some tutorials, e.g. for the > > > Turmvilla/Heeselicht scenario. > > > > > > [1] > > > https://events.ccc.de/2016/09/01/call-for-participation-33rd-chaos-communication-congress-en/ > > > > > > -- > > > ___ > > > genode-main mailing list > > > genode-main@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/genode-main > > > > > > > > -- > Johannes Schlatow, M.Sc. > > IDA, Institute of Computer and Network Engineering > Technische Universität Braunschweig > Hans-Sommer-Str. 66 > 38106 Braunschweig - Germany > > Phone +49 531 391 - 9668 > > www.ida.ing.tu-bs.de > schla...@ida.ing.tu-bs.de > > ---------- > ___ > genode-main mailing list > genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
Hello, On Fri, Sep 23, 2016 at 07:21:33PM -0400, Paul Dufresne wrote: > But then again, the constructors is called before Hip::build (mbi); in > nova init, which reads command line. > So novga cannot have effect yet. If this would be true the following code makes no sense to me. src/console_vga.cpp:29 if (Cmdline::novga) return; You could still just put 'return;' before line 29 to prevent VGA initialization. On the other hand, this does not avoid running into the same issue later during bootstrap. I'm curious what you'll find out about the 'new (quota)' suspicion. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
On Fri, Sep 23, 2016 at 04:10:30PM -0400, Paul Dufresne wrote: > I begin to feel lost... might try to put my while(1) in that but I > really not sure I am on the right trail. It's just a guess but it might be your CPU does not support a feature used in the page table that is set up for VGA. You could try to disable VGA by providing novga on the kernel commandline. -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
Hello Paul, On Fri, Sep 23, 2016 at 09:47:49AM -0400, Paul Dufresne wrote: > With STOP_AT == 1 it hangs, This mean the UART initialization in Console_serial::Console_serial() succeeds. > With STOP_AT == 2 it reboots. So your reboot is induced by Console_vga::Console_vga() in src/console_vga.cpp. You may now proceed with moving 'while(1);' into the constructor function. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
Hello Paul, I like the approach of narrowing the issue with 'while(1);' and suggest to go further (see below). On Thu, Sep 22, 2016 at 10:02:51PM -0400, Paul Dufresne wrote: > / > extern "C" INIT REGPARM (1) > void init (mword mbi) > { > > // Setup 0-page and 1-page > memset (reinterpret_cast(_0), 0, PAGE_SIZE); > memset (reinterpret_cast(_1), ~0u, PAGE_SIZE); > > //Console::print ("paul1"); > for (void (**func)() = _G; func != _E; (*func++)()) ; > while(1); > / I'd move the 'while(1);' into the for loop like follows. enum { STOP_AT = 0U }; unsigned i = 0; for (void (**func)() = _C; func != _G; ) { if (i == STOP_AT) while (1) ; ; (*func++)(); ++i; } In my case the ctors table has only 2 entries. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Nova multiboot v.1 flags == 0 ???
Hello Paul, On Wed, Sep 21, 2016 at 08:12:38PM -0400, Paul Dufresne wrote: > I think I have a problem with Nova multiboot specification. [...] Sorry but I currently have no time to read your details about the Multiboot spec. Therefore, I'd like to ask you for a short summary of the issue you experience. Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Genode 16.08 nova.iso rebooting on real Core 2 Duo after relocating modules
Hello Paul, On Tue, Sep 20, 2016 at 08:54:22PM -0400, Paul Dufresne wrote: > I thought rebooting computer as soon has coming to boot line was for > old low memories computer > only, but I get it with nova.iso burnt on a CD on my Core 2 Duo, 2 GB > (well 3 GB, but 2 Gb > memory stick recognized as only 1 Gb + one other 1 Gb). > > Capture log with null-modem RS232: > > Bender: Hello World. > Need 05df2000 bytes to relocate modules. > Relocating to 7980d000: > Copying 483168 bytes... [...] > Copying 114820 bytes... If my calculations from this output are correct the boot modules cover RAM from 0x7980d000 to 0x7f5e9000. Maybe there's a collision in this region? > paul@arcturus:~$ cat /proc/meminfo > MemTotal:2041768 kB Could you please compare the region above against cat /proc/iomem' and check if it fits completely into "System RAM"? Greets -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: For Nova under VirtualBox I get that error
Hello, On Sun, Sep 18, 2016 at 01:20:16PM +0200, Udo Steinberg wrote: > On Sun, 18 Sep 2016 05:32:25 -0400 Paul Dufresne (PD) wrote: > > PD> NOVA Microhypervisor v7-23e7882 (x86_32): Aug 29 2016 10:39:41 [gcc 4.9.2] > PD> > PD> [ 0] CORE:0:0:0 f:4:9:4 [0] Intel(R) Celeron(R) CPU > 2.66GHz > PD> [ 0] Killed EC:0xc23ca160 SC:0xc23cb100 V:0x6 CS:0x8 EIP:0xc02c > PD> CR2:0x0 ERR:0x0 (EXC) > > This is an invalid opcode exception and it means your CPU is rather old and > does not understand the instruction at IP 0xc02c. You can disassemble > the hypervisor binary using objdump and check which instruction that is. With a recent build of NOVA/32 I get > objdump -ldSC build/nova_x86_32/kernel/hypervisor | grep > "c02c:" c02c: 0f 35sysexit But I had expected those CPUs to support sysenter/sysexit. Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: porting python in tz_vmm demo
Hello Abhay, On Fri, Aug 12, 2016 at 12:05:00AM +0200, Abhay Amala wrote: > I could manage to enable python modules for my python project. I put the > directory containing the project file (python modules) and the python > standard libraries into a tar archive to be accessed by the tz_vmm (see the > configuration below). The project runs successfully, but I get the > following message when os module is imported. This message is repeated for > each python module imported in the project. Anyone has any idea to fix > this? Thank you in advance for your answers. > > > [init -> tar_fs] Could not find record for /Lib/os > [init -> tar_fs] Could not find record for /Lib/os.so > [init -> tar_fs] Could not find record for /Lib/osmodule.so > [init -> tar_fs] Could not find record for /Lib/os.pyc > [init -> tar_fs] Could not find record for /Lib/os.pyc > [init -> tz_vmm] plugin()->open("./Lib/os.pyc") failed I suppose you did not archive 'Lib/os.pyc'? What does tar tf pyproject.tar look like? If I understand you correctly your program runs anyway, so it seems the log output is an artifact of heuristics in the Python implementation looking for modules names 'os'. > Here is the configuration. > > > > > > > > > > > > > > > > > > > > > > Your configuration has parts of both (the old and the new) ways to use TAR archives in libc programs. I suggest to remove tar_fs and fix the VFS integration of pyproject.tar like follows Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohodev2dev ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: e1000 nic driver problem
John, On Fri, Jul 01, 2016 at 07:27:08PM +0530, john stokes wrote: > please provide me solution to this problem here is the image although it is > from my virtual box but same thing happen > on my hardware when i uncommnet nic related lines from l4linux.run the boot > hangs up on the last line shown in the image. As long as you don't provide more information about the error regarding nic_drv on real hardware, I belief nobody is able to help you. Please send the log when running run/lwip on your target machine. If you don't have a serial connection to the machine, try to type out what's logged to the VGA console or try to connect a serial cable. Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: e1000 nic driver problem
Hello John, On Fri, Jul 01, 2016 at 05:20:57PM +0530, john stokes wrote: > [init -> nic_drv] Found: 00:03.0 8086:100e (rev 03) IRQ 0b > [init -> nic_drv] using driver 82540em > [init -> nic_drv] PCI BIOS has not enabled device 00:03.0! Updating PCI > command 0103->0107 > [init -> nic_drv] PCI device 00:03.0 latency timer is unreasonably low at > 0. Setting to 32. > [init -> nic_drv] bus_addr = febc len = 2 > [init -> nic_drv] snprintf not implemented > [init -> nic_drv] --- init callbacks > [init -> nic_drv] --- get MAC address 52:54:00:12:34:56 The nic_drv based on iPXE picks up a 82540em card which is Intel e1000. Did you run the scenario on your target hardware? You mentioned you don't have e1000 but rtl8169 in a previous posting. Or may your PC have multiple network cards? Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: gdb_monitor not working on nova_x86_64
Hello, the following line looks suspicious. On Wed, Jun 29, 2016 at 11:17:13PM -0600, Nobody III wrote: > localhost:: Connection timed out. The run script instructs Qemu to listen on localhost: and redirect the data stream to a emulated serial device in the VM. The issue seems unrelated to the Genode system. What's your Qemu version? I personally build Qemu 2.3.1 (git hash dfa83a6ba) from the sources with ./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu \ --disable-docs --disable-vnc-tls --disable-vnc-ws --disable-uuid && \ make -j and the GDB related tests work flawlessly with 16.05. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Benchmarking Genode TrustZone
Hello Tiago, On Thu, Jun 23, 2016 at 04:32:18PM +0100, Tiago Brito wrote: > I did not check if the binary code is similar, but I did measure just the > for-loop in both worlds and the times are those I described previously. You really should compare the binary code as example that's slower in SW uses floating arithmetics unless I'm mistaken. If the code is similar and the execution time differs much, there may be an issue with FPU handling in SW. Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Benchmarking Genode TrustZone
Hello Tiago, On Thu, Jun 23, 2016 at 02:40:10PM +0100, Tiago Brito wrote: > // start timer here > for(i = 0; i < size; i++) { > color = oldp[i]; > alpha = (color >> 24) & 0xff; > red = (color >> 16) & 0xff; > green = (color >> 8) & 0xff; > blue = color & 0xff; > lum = (int) (red * 0.299 + green * 0.587 + blue * 0.114); > newp[i] = (alpha << 24) | (lum << 16) | (lum << 8) | lum; > } > // end timer here > // check timer diff and print result > > I'm testing this same exact code on both the Secure and Nonsecure domains. > In the NW I'm getting about 155 ms of execution time, which for that buffer > and transformation seems ok. On the other hand, the SW is giving me about > 610 ms of execution time. > > I can't seem to find a reasonable explanation for this time difference, > since the code running in both scenarios is exactly the same. The secure > code is running inside the TZ_VMM example. Did you check that the generated binary code is similar? Did you try to measure only the run time of the for-loop in both worlds? Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Attend Shape: An AT Tech Expo July 15-16. Meet us at AT Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Questions about the Nic_bridge and VirtualBox bug
Hello Charles, On Wed, Jun 15, 2016 at 11:22:01AM +0200, Charles HH wrote: > The patch worked. The options are now parsed correctly. Great. > I still have a problem with the DHCP server sending the Offer to the VM mac > address (taken from the DHCP options I would assume) instead of to the > bridge. I think that's quite an unusual behavior for a DHCP server though, > so I don't think it deserves particular attention... This may result from the simplicity of our current bridge implementation. It may be better to implement DHCP relaying https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_relaying to force the DHCP server to send an unicast reply to the bridge MAC address. Also, it may be the case that our implementation misses one picky detail when constructing the DHCP request packet. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421=/41014381 ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Questions about the Nic_bridge and VirtualBox bug
Hello Charles, I think there is an issue in the calculation of the pointer to the next DHCP option. Could you please try the attached patch? Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth repos/os/include/net/dhcp.h | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/repos/os/include/net/dhcp.h b/repos/os/include/net/dhcp.h index da492d0..c1ce3cc 100644 --- a/repos/os/include/net/dhcp.h +++ b/repos/os/include/net/dhcp.h @@ -122,6 +122,14 @@ class Net::Dhcp_packet Genode::size_t length() { return _len; } void* value() { return _value; } +Option *next() +{ + if (_code == PAD) + return (Option *)&_len; + else + return (Option *)(_value + _len); +}; + /** * Placement new. */ @@ -142,6 +150,7 @@ class Net::Dhcp_packet }; enum Option_type { + PAD= 0, REQ_IP_ADDR= 50, IP_LEASE_TIME = 51, OPT_OVERLOAD = 52, @@ -212,16 +221,11 @@ class Net::Dhcp_packet Option *option(Option_type op) { - void *ptr = &_opts; - while (true) { -Option *ext = new (ptr) Option(); -if (ext->code() == op) - return ext; -if (ext->code() == END || ext->code() == 0) - break; -ptr = ext + ext->length(); - } - return 0; + for (Option *o = (Option *)&_opts; o->code() != END; o = o->next()) +if (o->code() == op) + return o; + + return nullptr; } -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: a device driver
Hello John, On Wed, Jun 08, 2016 at 11:21:57PM +0200, John David wrote: > I am running Genode on i.mx53 QSB and was wondering to use a fingerprint > scanner such as Adafruit finger print reader to create a virtual > fingerprint. Is there any a device driver and library in Genode for a > fingerprint scanner? Could you please tell me how to use it? Thanks in > advance. Please provide more information about the device you like to connect to the i.MX53 QSB. Is it a USB device or connected by other means? How does Linux drive the hardware device? Does it just need a low-level driver or are additional libaries required? Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: [i.MX53 QSB] Inter-component Shared Memory
Hello Tiago, nice to hear that you follow the component approach. On Mon, Jun 06, 2016 at 04:54:46PM +0100, Tiago Brito wrote: > As said in previous posts I have a system call which is responsible for the > SMC between the normal world and tz_vmm. I can successfully allocate memory > in the normal world and access it in the secure world. Thus I can send > images to the secure world (which is what I want). Then in the secure world > I have a new component which uses the libpng port to process images. This component runs in its own address space and, thereby, does not share memory mappings with tz_vmm after its creation. > TZ_VMM and the libpng component talk using the inter-component RPC. In > order to access the image inside the libpng component I send Genode::addr_t > in the RPC function call argument. This Genode::addr_t has the physicall > address of the image which was loaded to memory from Linux. > > I can verify that the addr_t variable has the correct value inside the > libpng component, but when I try to access it this is the output: > > [init -> tz_vmm] image addr: 816ac000 > [init -> tz_vmm] RPC call: png_sig_cmp > [init -> libpng_server] image addr: 816ac000 > no RM attachment (faulter 27213c with IP 700101d4 attempts to read from > address 816ac000) > init -> libpng_server -> ep: unresolved pagefault at ip=700101d4 > sp=e01fee30 fault address=816ac000 > core -> pager_ep: cannot submit unknown signal context > > Since this is a memory block which was allocated by Linux, and since I can > manipulate it fine when inside tz_vmm, shouldn't I be able to manipulate > this same memory region without problems? As components use virtual memory (based on page tables) memory is addressed by virtual addresses. I assume that you use some facility in tz_vmm to calculate the virtual-memory mapping of 0x816ac000 and access the PNG in your original implementation. Now, you separated tz_vmm and your libpng_server into two components and, so, the memory mappings of tz_vmm are not directly accessible in libpng_server. Passing the physical address to libpng_server does not help as this component will not be allowed to create a virtual memory mapping to this portion of the RAM - it is exclusively accessible in tz_vmm. I suggest you establish a shared-memory dataspace between libpng_server and tz_vmm big enough to transfer the PNG images. tz_vmm can then copy the PNG data from (Linux) guest memory into the shared dataspace where it is accessible by libpng_server. For an example, please have a look at Terminal::Session and the Genode Foundations book Section 3.6.3. and 3.6.5. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: [TZ_VMM] - libpng on the i.MX53 QSB
Hello Tiago, On Wed, Jun 01, 2016 at 12:50:33PM +0100, Tiago Brito wrote: > Thanks Stefan, I did what you say and it compiled without any problem, but > I still cannot run the example. > I changed the tz_vmm run script like so: > set boot_modules { core init ld.lib.so libc.lib.so zlib.lib.so > libpng.lib.so tz_vmm linux } Any practical issues aside I doubt that linking all your aspired functionality to tz_vmm is the proper approach. Genode is a component framework and access rights of components follow the principle of least authority. The task of tz_vmm is controlling the execution of the Linux VM and providing required device emulation. Trusted functions beyond this task (e.g., processing of PNG images) should be placed in distinct components. Then, the tz_vmm can use these components via dedicated inter-component interfaces by RPC, shared memory, and signals. A positive side effect of this approach is that you may develop, debug, and test your PNG processor independently from tz_vmm (or even i.MX53) given a small mockup environemnt is prepared. Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Announcement: Genode OS Framework version 16.05 released
The central aspect of the current release is the fundamental renovation of our base API. The API gradually evolved over the years since 2006 while we gained a wealth of experience with a wide range of usage scenarios and their requirements. We eventually realized that the need for fundamental changes to greatly increase robustness and flexibility can no longer be ignored. Therefore, this release brings new API functions reflecting our current knowledge about how a secure, low-complexity C++ OS framework should look like and, on the other hand, deprecates a wide range of interfaces that will be removed in future versions. Beside the API changes, we packed quite a few exciting features and improvements into the release. The current release contains the following changes and new features: - Fundamental revision of the framework API - New revision of the "Genode Foundations" book - Enhanced ACPI support on x86 - Device drivers - Updated Linux-based drivers to Linux version 4.4.3 (Intel wireless, Intel graphics, USB, TCP/IP stack) - Updated OpenBSD-based audio driver to version 5.9 - GNU debugger running on 64-bit NOVA - Rust programming language for Genode components - Tool-chain update Find the complete release documentation for the version 16.05 here http://genode.org/documentation/release-notes/16.05 Kind regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: using picture from Genode Foundations for Thesis
Hello David, On Sun, Apr 03, 2016 at 01:04:13PM +0200, David Werner wrote: > i am currently writing my Bachelor's thesis. Am i allowed to use > pictures from "Genode Foundations" The Genode Foundations book is licensed under the Creative Commons Attribution ShareAlike License (CC-BY-SA). (see page 8 of the book) From my knowledge this allows you to reproduce parts (e.g., figures) of the book as long as you comply with the Attribution conditions which is the traditional German Bildnachweis. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140 ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Loading component configuration from file with lx_fs.
Hello Mikael, On Mon, Jan 25, 2016 at 03:37:37PM +0100, Mikael Sahlström wrote: > 1. How do I state which file to read? lx_fs provides access to the path configured in the "root" attribute of the policy node. The path is interpreted *relative* to the directory lx_fs is executed from, e.g., /var/run/lx_fs for "make run/lxf_fs". Please have a look at base-linux/run/lx_fs.run (as suggested in the lx_fs/README for further details. > 2. My understanding is that the root attribute in lx_fs defines which > directory genode will see as root. But anything except "/" here results in > the error message "Session root directory "..." does not exist". See above. > 3. Do I write the same thing in the config file as I did when having the > dynamic_rom ()? Sorry, I fear I don't understand this question. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Problem linking against pthread in 15.11
Hello Marcus, On Fri, Jan 22, 2016 at 01:49:24PM +0100, Marcus Nolte wrote: > I just updated to 15.11 (building on linux_x86) We changed a lot regarding the dynamic linker last November and I can remember we had some challenges with the context area. Please post which distribution, version and architecture you're using for the Linux base platform. We're testing regulary with Ubuntu 12.04 and 14.04 (32 and 64 bit) as well as Gentoo. Does "make run/demo" work for you in 15.11? Also, please post the output of genode-x86-objdump -T bin/ld.lib.so |grep "\<context_area\>" Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Re: Problem linking against pthread in 15.11
Hello Marcus, On Fri, Jan 22, 2016 at 03:31:39PM +0100, Marcus Nolte wrote: > The host machine is running Ubuntu 14.04 (64 bit) > The issue is only showing up in the local branch I'm using. > run/demo is working fine. > > objdump shows > > 4000 ld .context_area .context_area > > Can you give any pointer where to look deeper into the issue? The information you gave looks innocent. Maybe the following commit from master after 15.11 resolves your issue https://github.com/genodelabs/genode/commit/30e129a91be29fc5b369663f0244de4368d97578 Could you please also try other scenarios with dynamic executables, namely make run/ldso make run/libc I'm still wondering if the issue is with libpthread only. Regards -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main