Re: *genode-main mailing list changes*

2018-05-14 Thread Christian Helmuth
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

2018-04-12 Thread Christian Helmuth
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

2018-04-12 Thread Christian Helmuth
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

2018-04-05 Thread Christian Helmuth
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

2018-04-04 Thread Christian Helmuth
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 ()

2018-03-14 Thread Christian Helmuth
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

2018-03-13 Thread Christian Helmuth
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

2018-03-13 Thread Christian Helmuth
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

2018-03-12 Thread Christian Helmuth
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

2018-03-05 Thread Christian Helmuth
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

2018-03-05 Thread Christian Helmuth
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

2018-02-27 Thread Christian Helmuth
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

2018-02-08 Thread Christian Helmuth
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

2018-02-06 Thread Christian Helmuth
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

2018-02-05 Thread Christian Helmuth
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

2018-01-26 Thread Christian Helmuth
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

2018-01-25 Thread Christian Helmuth
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

2018-01-23 Thread Christian Helmuth
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

2018-01-22 Thread Christian Helmuth
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

2018-01-12 Thread Christian Helmuth
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

2018-01-12 Thread Christian Helmuth
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

2018-01-03 Thread Christian Helmuth
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

2017-12-27 Thread Christian Helmuth
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

2017-12-27 Thread Christian Helmuth
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

2017-12-20 Thread Christian Helmuth
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

2017-12-18 Thread Christian Helmuth
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

2017-12-04 Thread Christian Helmuth
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

2017-11-30 Thread Christian Helmuth
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

2017-11-30 Thread Christian Helmuth
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

2017-11-09 Thread Christian Helmuth
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

2017-11-09 Thread Christian Helmuth
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

2017-11-03 Thread Christian Helmuth
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

2017-10-16 Thread Christian Helmuth
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

2017-10-16 Thread Christian Helmuth
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

2017-10-13 Thread Christian Helmuth
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

2017-10-04 Thread Christian Helmuth
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

2017-10-04 Thread Christian Helmuth
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?

2017-09-27 Thread Christian Helmuth
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?

2017-09-20 Thread Christian Helmuth
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

2017-09-13 Thread Christian Helmuth
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?

2017-08-31 Thread Christian Helmuth
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

2017-08-15 Thread Christian Helmuth
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

2017-08-14 Thread Christian Helmuth
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

2017-07-27 Thread Christian Helmuth
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

2017-07-25 Thread Christian Helmuth
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

2017-07-25 Thread Christian Helmuth
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

2017-06-26 Thread Christian Helmuth
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

2017-06-26 Thread Christian Helmuth
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

2017-06-23 Thread Christian Helmuth
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

2017-06-23 Thread Christian Helmuth
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

2017-06-07 Thread Christian Helmuth
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

2017-06-02 Thread Christian Helmuth
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

2017-05-22 Thread Christian Helmuth
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

2017-05-16 Thread Christian Helmuth
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

2017-05-11 Thread Christian Helmuth
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

2017-05-02 Thread Christian Helmuth
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

2017-04-25 Thread Christian Helmuth
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

2017-04-21 Thread Christian Helmuth
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

2017-04-20 Thread Christian Helmuth
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

2017-04-20 Thread Christian Helmuth
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

2017-04-20 Thread Christian Helmuth
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 ....

2017-04-19 Thread Christian Helmuth
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

2017-04-05 Thread Christian Helmuth
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

2017-03-28 Thread Christian Helmuth
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

2017-03-27 Thread Christian Helmuth
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

2017-03-27 Thread Christian Helmuth
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

2017-03-14 Thread Christian Helmuth
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

2017-03-13 Thread Christian Helmuth
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

2017-03-09 Thread Christian Helmuth
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

2017-03-02 Thread Christian Helmuth
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

2017-02-07 Thread Christian Helmuth
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

2017-02-03 Thread Christian Helmuth
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

2017-01-26 Thread Christian Helmuth
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

2016-12-23 Thread Christian Helmuth
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

2016-12-15 Thread Christian Helmuth
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

2016-12-13 Thread Christian Helmuth
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?

2016-11-16 Thread Christian Helmuth
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

2016-09-24 Thread Christian Helmuth
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

2016-09-23 Thread Christian Helmuth
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

2016-09-23 Thread Christian Helmuth
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

2016-09-23 Thread Christian Helmuth
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 ???

2016-09-22 Thread Christian Helmuth
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

2016-09-21 Thread Christian Helmuth
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

2016-09-18 Thread Christian Helmuth
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

2016-08-12 Thread Christian Helmuth
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

2016-07-01 Thread Christian Helmuth
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

2016-07-01 Thread Christian Helmuth
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

2016-06-30 Thread Christian Helmuth
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

2016-06-23 Thread Christian Helmuth
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

2016-06-23 Thread Christian Helmuth
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

2016-06-15 Thread Christian Helmuth
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

2016-06-14 Thread Christian Helmuth
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

2016-06-09 Thread Christian Helmuth
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

2016-06-09 Thread Christian Helmuth
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

2016-06-02 Thread Christian Helmuth
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

2016-05-27 Thread Christian Helmuth
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

2016-04-03 Thread Christian Helmuth
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.

2016-01-25 Thread Christian Helmuth
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

2016-01-22 Thread Christian Helmuth
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

2016-01-22 Thread Christian Helmuth
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


  1   2   3   >