From: angelo <angelo70@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] mcf5307, timer 2 issue loading linux
Date: Wed, 03 Aug 2011 15:06:21 +0200 [thread overview]
Message-ID: <4E3947CD.5000003@gmail.com> (raw)
In-Reply-To: <4E394423.9060009@snapgear.com>
Hi all,
finally this is what seems to happen:
1. U-boot setup timer 2 using LEVEL 7 autovectored interrupt. For this case
the uClinux " movew #0x2700, %sr " in head.S don't disable the timer
interrupt.
2. execution of uClinux proceed into head.S, rewriting %a7 (%sp) just
after writing
%sr.
3. at a certain (probably variable) moment, timer interrupt happen, and
since the
stack pointer is no more valid, it seems to get stucked and can't return
correctly.
Solution (temporary, RFC)
uBoot command bootm allows an "arch_preboot_os()":
cmd_bootm.c
case BOOTM_STATE_OS_GO:
disable_interrupts();
arch_preboot_os();
boot_fn(BOOTM_STATE_OS_GO, argc, argv, &images);
break;
I used it to disable LEVEL7 interrupt. Next os loading works.
NOTE: For this issue using command "go" is not possible, since it is not
meant for os loading,
and don't do any arch_preboot_os(); .
What i still don't understand is why this issue is not happening on
other coldfire models that have
UBoot and uClinux. Probably they are faster, and head.S can be processed
and timers re-initialized before interrupt occours.
Let me know your thoughts.
Regards,
angelo
On 03/08/2011 14:50, Greg Ungerer wrote:
> Hi Angelo,
>
> On 08/03/2011 06:09 PM, angelo wrote:
>> i am reporting the following issue, maybe related to something wrong in
>> my new mcf5307 support addition (still under testing), or maybe not:
>>
>>
>> 1. U-Boot run correctly, timer2 is enabled as a system timestamp
>> counter.
>> 2. I load a uClinux bianry from flash to SDRAM with "cp.l FLASH_ADDR
>> SDRAM_ADDR SIZE/4
>> 3. i launch the binary with "go SDRAM_ADDR"
>>
>> First startup of linux (head.S) is locked, since U-boot timer2 interrupt
>> happen, exactly while linux startup (in head.S) is moving ROMFS inside
>> sdram.
>> After the interrupt happen, i was assuming it return correctly allowing
>> linux to load, but execution is locked inside this ROMFS copy of head.S.
>>
>> Disabling the timer2 init in board.c, linux is loaded as expected.
>>
>> Shouldn't timer2 be disabled for al coldfire models before loading
>> linux ?
>
> What interrupt level is timer2 set to?
>
> The second instruction into running uClinux is:
>
> movew #0x2700, %sr
>
> which will disable all interrupts - excepting anything set to the
> non-maskable level 7.
>
> Regards
> Greg
>
>
> ------------------------------------------------------------------------
> Greg Ungerer -- Principal Engineer EMAIL: gerg at snapgear.com
> SnapGear Group, McAfee PHONE: +61 7 3435 2888
> 8 Gardner Close, FAX: +61 7 3891 3630
> Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com
--
.:.:.SYSAM.:.:.
di Angelo Dureghello
via San Nazario 149
34151, Trieste, Italy
++39 340 7631990
www.sysam.it <http://www.sysam.it>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logo.png
Type: image/png
Size: 3033 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110803/e78b93b9/attachment.png
next prev parent reply other threads:[~2011-08-03 13:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-03 8:09 [U-Boot] mcf5307, timer 2 issue loading linux angelo
2011-08-03 12:50 ` Greg Ungerer
2011-08-03 13:06 ` angelo [this message]
2011-08-03 13:07 ` Wolfgang Denk
2011-08-03 13:29 ` angelo
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=4E3947CD.5000003@gmail.com \
--to=angelo70@gmail.com \
--cc=u-boot@lists.denx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox