From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: ARM, MMU and IO space mapping
Date: Thu, 24 Nov 2011 21:09:38 +0100 [thread overview]
Message-ID: <87d3chxoxp.fsf@free.fr> (raw)
In-Reply-To: <20111124120400.GC27267@pengutronix.de> (Sascha Hauer's message of "Thu, 24 Nov 2011 13:04:00 +0100")
Sascha Hauer <s.hauer@pengutronix.de> writes:
> I remember Marc had some trouble with the mmu/cache implementation on
> PXA. I don't know the details though. Maybe you have to dig through
> the manuals/kernel code to find out the differences between the normal
> arm v5 and pxa.
Ah, I know what happens now, and it's tricky.
First of all, you're right, there's a flat uncached mapping, I was misled by
the function name "create_section", without looking closely at it. I thought
it created the first section, not all the 4096 1MBytes section of a 4GB
address space.
It would deserve a "create_sections" name, in plural form.
Now, for the serial UDC not working, there comes the fun.
What's happening is that I'm using a default environment, with the init
script in [1]. This script has an error somewhere.
In barebox_startup(), we have :
if (!stat("/env/bin/init", &s)) {
run_command("source /env/bin/init", 0);
And here is the trickery:
- in the NOMMU case, the run_command() returns, and the code continues to the
eternal loop of run_shell(), which calls console.getc(), which calls
poller(), which call the UDC poll method
=> the gadget does work
=> I have a console, hurray !
- in the MMU case, the run_command() never returns, and the poller method is
never called. I traced that with my leds.
=> the gadget does *not* work
So the problem was not the IO mapping, but a difference in run_command() between
MMU and non-MMU config. Moreover, in non-MMU case, once my console is connected,
I see a message :
> running /env/bin/init...
> syntax error
I the MMU case, as the gadget doesn't work, I'm blind, so I can't really tell
what is happening and which is the impact of MMU over run_command()...
Cheers.
--
Robert
[1] Script:
#!/bin/sh
#led orange 1
PATH=/env/bin
export PATH
. /env/config
while [ -z $toto ]; do
led orange 1
readline "Give me a word" word
echo "I've got your $word"
done
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2011-11-24 20:09 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-24 11:24 ARM, MMU and IO space mapping Robert Jarzmik
2011-11-24 12:04 ` Sascha Hauer
2011-11-24 14:23 ` Marc Kleine-Budde
2011-11-24 20:09 ` Robert Jarzmik [this message]
2011-11-24 20:25 ` Marc Kleine-Budde
2011-11-25 0:01 ` Sascha Hauer
2011-11-27 22:30 ` Robert Jarzmik
2011-11-28 7:43 ` Sascha Hauer
2011-11-28 17:43 ` Robert Jarzmik
2011-11-29 8:15 ` Sascha Hauer
2011-11-30 22:06 ` Robert Jarzmik
2011-12-01 14:26 ` Sascha Hauer
2011-12-01 14:34 ` Marc Kleine-Budde
2011-12-11 13:01 ` Robert Jarzmik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87d3chxoxp.fsf@free.fr \
--to=robert.jarzmik@free.fr \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.