I want to run Genode-ARM on android system.

Thank you.

Regards,
Ayesha

On Thu, 25 Oct 2018 at 15:30, <users-request@lists.genode.org> wrote:
Send users mailing list submissions to
        users@lists.genode.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.genode.org/listinfo/users
or, via email, send a message with subject or body 'help' to
        users-request@lists.genode.org

You can reach the person managing the list at
        users-owner@lists.genode.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of users digest..."


Today's Topics:

   1. Re: Genode on Secure Tablet (Christian Helmuth)
   2. Re: multiple devices, single driver (Alexander Boettcher)
   3. Re: multiple devices, single driver (Joel Nider)


----------------------------------------------------------------------

Message: 1
Date: Wed, 24 Oct 2018 15:19:24 +0200
From: Christian Helmuth <christian.helmuth@genode-labs.com>
To: users@lists.genode.org
Subject: Re: Genode on Secure Tablet
Message-ID: <20181024131924.GC4718@genode-labs.com>
Content-Type: text/plain; charset=utf-8

Hello Ayesha,

On Wed, Oct 24, 2018 at 01:34:51PM +0530, A Noor wrote:
> I have successfully emulated ARM-Genode in Bionic beaver. I need to run the
> genode on the secure tablet now.
> Can anyone pls help me out through this process. A small help also
> accountable.

congrats for mastering the first step to run Genode on your secure
tablet. Now as you really like to use the hardware, it is the best
time to tell us which hardware platform you're addressing. Otherwise
I'm afraid nobody will emerge for helping you.

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



------------------------------

Message: 2
Date: Thu, 25 Oct 2018 08:08:04 +0200
From: Alexander Boettcher <alexander.boettcher@genode-labs.com>
To: Genode users mailing list <users@lists.genode.org>, Joel Nider
        <JOELN@il.ibm.com>
Subject: Re: multiple devices, single driver
Message-ID: <8e5c2053-d5b3-6942-083b-e53931ddd885@genode-labs.com>
Content-Type: text/plain; charset=utf-8

Hello,

On 23.10.18 14:50, Joel Nider wrote:
> I have been looking at several drivers in Genode, and they all seem to
> have static data - specifically a Heap object and Root object.  I am
> wondering with this kind of setup, is it possible to manage more than one
> device with a single driver?

of course. As described in the Genode book [0] in chapter 3.2.3, the
root object provides the implementation just of the interface. Whenever
a client connects to a service (like a driver for nic, ahci, nvme, usb
etc.) a session is established via this interface. The driver may
associate (typically does so depending on your specified policy) one
specific device it drives to this session - as done e.g. for drivers
handling multiple devices, e.g. ahci, nvme, usb.

A driver may provide also different services, e.g. our old usb driver
provides Nic, Block, Input (so several root interfaces).

Cheers,

Alex.

[0] https://www.genode.org/documentation/genode-foundations-18-05.pdf

--
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



------------------------------

Message: 3
Date: Thu, 25 Oct 2018 10:38:08 +0300
From: "Joel Nider" <JOELN@il.ibm.com>
To: Alexander Boettcher <alexander.boettcher@genode-labs.com>
Cc: Genode users mailing list <users@lists.genode.org>
Subject: Re: multiple devices, single driver
Message-ID:
        <OFE542A872.7CA6CBCD-ONC2258331.0026D25E-C2258331.0029F1A3@notes.na.collabserv.com>

Content-Type: text/plain; charset="US-ASCII"

Hi Alex,

> On 23.10.18 14:50, Joel Nider wrote:
> > I have been looking at several drivers in Genode, and they all seem to

> > have static data - specifically a Heap object and Root object.  I am
> > wondering with this kind of setup, is it possible to manage more than
one
> > device with a single driver?
>
> of course. As described in the Genode book [0] in chapter 3.2.3, the
> root object provides the implementation just of the interface. Whenever
> a client connects to a service (like a driver for nic, ahci, nvme, usb
> etc.) a session is established via this interface. The driver may
> associate (typically does so depending on your specified policy) one
> specific device it drives to this session - as done e.g. for drivers
> handling multiple devices, e.g. ahci, nvme, usb.

I will give you my situation as a specific example. I am writing a driver
for a PCIe attached NIC (x86 platform). Let us say that I have 2 physical
NICs in my machine with the same device ID and vendor ID. I have specified
in my config file that I have a driver called "nic_drv", without
specifying the PCIe address (copied from the example in
repos/os/run/ping.run).

When the driver starts, I can enumerate the PCIe devices through the
Platform::Connection object that is instantiated from the 'env' object. I
see all PCIe devices of class 'NET' (even other NICs that I don't want my
driver to handle). So far so good. I can filter through the devices by
requesting the capability (with Platform::Device_client) and I can read
the device ID and vendor ID and pick the devices I want to handle.

Now I have a list of several devices that I want my driver handle. If I
understand you correctly, I should have only one Root object (and one Heap
object). That implies I should also only call parent().announce() once.
But then how do I instantiate my Nic::Session_component once per device?
What is happening so far, is that some time after I call
parent().announce(), my Nic::Session_component derived class gets
instantiated, and the constructor is called. But I have no way of knowing
which device it is meant to handle, since there is no mechanism for
passing the device capability to Nic::Session_component. In addition, I
only see this constructor being called once. I expected to see one
constructor per PCIe device. This causes further problems such as not
being able to map the mmio region since the size and base address are not
known until I query the PCIe BAR, and there is no 'new' operator
available, which means to me I'm doing something fundamentally wrong.

So what is the correct way to build the driver such that I get an object
per device (and the object knows the device)?

Thanks,
Joel





------------------------------

Subject: Digest Footer

_______________________________________________
users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users

------------------------------

End of users Digest, Vol 6, Issue 15
************************************