Hi,
I noticed that as part of booting up Genode that the contents of the rom FS is printed (provided the variable is set for enabling verbose printing of boot information). Is there a way of having access to this data in my profiling environment? Having access to this information would greatly help with my system profiling.
Peter
Hi again,
On Wed, Apr 14, 2010 at 01:14:49PM +0930, Peter Nguyen wrote:
I noticed that as part of booting up Genode that the contents of the rom FS is printed (provided the variable is set for enabling verbose printing of boot information). Is there a way of having access to this data in my profiling environment? Having access to this information would greatly help with my system profiling.
Indeed, ROM files can be accessed via ROM sessions. Please have a look at
http://genode.org/documentation/architecture/core#ROM_-_boot-time-file_acces... http://genode.org/documentation/api/base_index#section-2
We kept the service as simple as possible and, therefore, do not provide readdir()-like functionality. If you need this feature, you could use the nested config support. An example can be found in the Genode sources
os/config/nested_config
Regards
Hi,
Just to make things clear, what I meant was that I was wondering whether I am actually to dump the contents of the Rom FS without having to know the names of each ROM file ahead of time (which is what happens in boot up). From what I can see, when I create a rom dataspace capability, I have to specify the file that I want to access, which is not exactly what I want to do every time just in case new components are added. More specifically, I want to obtain the names of the ROM files and their addresses as part of sample processing. I also don't understand how the nested configs will help me achieve this task as well.
Peter
Quoting Christian Helmuth <christian.helmuth@...1...>:
Hi again,
On Wed, Apr 14, 2010 at 01:14:49PM +0930, Peter Nguyen wrote:
I noticed that as part of booting up Genode that the contents of the rom FS is printed (provided the variable is set for enabling verbose printing of boot information). Is there a way of having access to this data in my profiling environment? Having access to this information would greatly help with my system profiling.
Indeed, ROM files can be accessed via ROM sessions. Please have a look at
http://genode.org/documentation/architecture/core#ROM_-_boot-time-file_acces... http://genode.org/documentation/api/base_index#section-2
We kept the service as simple as possible and, therefore, do not provide readdir()-like functionality. If you need this feature, you could use the nested config support. An example can be found in the Genode sources
os/config/nested_config
Regards
Christian Helmuth Genode Labs
http://www.genode-labs.com/ · http://genode.org/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Peter,
Just to make things clear, what I meant was that I was wondering whether I am actually to dump the contents of the Rom FS without having to know the names of each ROM file ahead of time (which is what happens in boot up). From what I can see, when I create a rom dataspace capability, I have to specify the file that I want to access, which is not exactly what I want to do every time just in case new components are added. More specifically, I want to obtain the names of the ROM files and their addresses as part of sample processing. I also don't understand how the nested configs will help me achieve this task as well.
I suppose, Christian came up with the idea of using Genode's config mechanism because, in a way, the list of files to be used by the server is a kind of configuration data. In your case, you would like to obtain the names of the ROM files at runtime, which is not possible via the ROM interface per se. However, you have two simple ways for telling the server about the files to use:
* You might just place a file containing the list of ROM files as another boot module and, by convention, call it 'ls'. So you can first create a ROM session for the file 'ls', read the file names and open the other files. Of course, you would need to keep the 'ls' consistent with the ROM files.
* Alternatively, you can just the server about the files to use via the config file. For example:
<config> ... <start> <filename>your_server</filename> <ram_quota>5M</ram_quota> <config> <filelist> <file>a_file</file> <file>another_file</file> </filelist> </config> </start> </config>
Your server can then access its own '<config>' section by opening a ROM session with 'config' as filename and use Genode's XML parser to interpret the file list. For a simple example, please have a look at 'demo/src/app/backdrop'.
I think, the latter solution is far more elegant because it not only enables you to edit the configuration of the file list and your test setup in one place, but it also allows for arbitrary further configuration tags defined by yourself.
Regards Norman