Hey Stefan,

thank you for your reply.
I already managed to get it working and did what you mentioned except that I used the following class:
/repos/os/include/os/attached_mmio.h

But thank you once again for the good explanation, it is much clearer now.

Best regards,
Jack

On 16 November 2015 09:01:21 +01:00, Stefan Kalkowski <stefan.kalkowski@...1...> wrote:
Hi Jack,

On 11/09/2015 12:30 PM, jack@...358... wrote:
Hello Genodians,

I have a program which needs access to some hardware registers.
The Region Manager (RM) is complaining, because he cannot find the address.

no RM attachment (faulter fb710c with IP 36b614 attempts to write to address
43c00004)

How can I add this region?
In the runscript as a config setting for RM?
Add these addresses to the platform_support.cc?
Or do I need a driver to gain access to these registers?

Please, do not mix up the virtual memory of a program administrated by
its RM session with a physical address. A portion of memory mapped I/O
(hardware registers), in form of an IOMEM dataspace within Genode, is a
resource and has to be requested with a session call like other
resources too. So your driver code first needs to open an IOMEM session
(given the physical address of the hardware registers as argument),
request the dataspace, and attach that dataspace to its RM session. The
concepts behind this are explained in more detail in the "Genode
Foundations" chapter 3.4 [].

A software tool which incorporates all of these steps is the
Attached_io_mem_dataspace in file
repos/os/include/os/attached_io_mem_dataspace.h.

So incorporating:

Attached_io_mem_dataspace iomem(HARDWARE_REG_ADDR, HARDWARE_REG_SIZE);

should be sufficient. Calling the 'local_addr' member of the object
delivers the address where you can access the hardware registers within
your component.

Regards
Stefan


Best regards,
Jack



------------------------------------------------------------------------------
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140



_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

--
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ ยท http://genode.org/

------------------------------------------------------------------------------
Presto, an open source distributed SQL query engine for big data, initially
developed by Facebook, enables you to easily query your data on Hadoop in a
more interactive manner. Teradata is also now providing full enterprise
support for Presto. Download a free open source copy now.
http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main