stefan.kalkowski at ...1...
Wed Feb 11 12:00:21 CET 2015
On 02/09/2015 05:44 AM, chirag garg wrote:
> Hi all,
> I am trying to run available os/run/framebuffer.run script on imx6
> platform with modification for imx6. I am getting the following trace on
> the execution.
> Starting kernel ...
> kernel initialized
> Genode 14.11
> int main(): --- create local services ---
> int main(): --- start init ---
> int main(): transferred 511 MB to init
> int main(): --- init created, waiting for exit condition ---
> undefined instruction
> [init -> platform_drv] --- i.MX6 platform driver ---
> [init -> fb_drv] Starting i.MX6 framebuffer driver
> [init -> test-framebuffer] --- Test framebuffer ---
> [init] child "platform_drv" announces service "Platform"
> [init -> fb_drv] Could not open file "config"
> [init -> fb_drv] Could not obtain config file
> [init -> platform_drv] void Ccm::ipu_clk_enable(): Enabling IPU Clk
> [init -> platform_drv] void Iomux::ipu_enable(): Enabling IOMUXC Clk
> no RM attachment (faulter 142090 with IP 10001e94 attempts to write to
> address 1280028)
> void Genode::Pager_object::unresolved_page_fault_occurred(): not implemented
> unknown signal context
> As the trace shows after the init process creation one error "undefined
> instruction" has been reported ? what could be the root cause of this ?
The most probable cause is that unprivileged code tried to execute
instructions that need a higher privilege level. Of course, you can also
execute some invalid opcodes, but most code is produced by
compiler/assembler so there is little chance for this.
Another possibility is that some code (e.g. do you use the tracing
framework?) uses the ARM performance counters. They are not configured
to be used by userland components by default. You can add "perf_counter"
to your SPEC-variables to enable them. Do something like this:
echo "SPECS += perf_counter" >> <path_to_build_dir>/etc/specs.conf
In general, we should extend the print warning by adding which component
and which thread triggered the "undefined instruction", as well as the
current instruction pointer. I have opened a corresponding issue:
> I changed the all platform_drv files according to imx6. which seems to
> be working from the "child platform_drv announces service Platform "
> message. Is any thing wrong here ?
That the platform driver announces its service doesn't say whether it is
working correctly. Most work of the platform driver is done when a
client comes to it and asks for device resources (power, clock etc.) For
me it seems like the driver triggers a pagefault (see your last log
messages), you should check what your driver is trying to do at the
instruction pointer given by the fault message (IP 10001e94). Maybe you
use wrong memory-mapped I/O regions?
> After this i am getting the error "could not open file config". I read
> other mailing list thread which says it is not an error but while
> tracing the code of framebuffer. I feel that it is important for
> framebuffer. But still i am not able to find the location where to put
> config file and what will be the content of this file.
Forget about the config file. See the explanations from my last mail.
> Next, I am getting the no RM attachment error and page fault. what could
> be the reason of getting this error?
As already said, I assume it is your platform driver.
> Thanks in advance.
> Chirag Garg
> IIT Madras , Rise Lab
> On Wed, Feb 4, 2015 at 5:49 PM, chirag garg <chiragdthinker at ...9...
> <mailto:chiragdthinker at ...9...>> wrote:
> Hi all,
> I was trying to understand the flow of framebuffer flow for given
> imx53 code in the following directory
> In the main function, one static variable "session_component" has
> been created which uses the "config_attribute" function defined in
> line number 115 which expect a config file in build process.
> What is the need of this config file with respect to framebuffer and
> where should i found this config file in the repository because when
> i run the framebuffer script it is not able to open config file?
> Chirag Garg
> IIT Madras , Rise Lab
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> genode-main mailing list
> genode-main at lists.sourceforge.net
http://www.genode-labs.com/ · http://genode.org/
More information about the users