From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] Fixing IXP42x boards - some general questions
Date: Thu, 23 Dec 2010 11:20:50 +0100 [thread overview]
Message-ID: <4D132282.9060403@free.fr> (raw)
In-Reply-To: <4D13175F.8030207@discworld.dascon.de>
Hi Michael,
Answering as the brand new ARM custodian :) :
Le 23/12/2010 10:33, Michael Schwingen a ?crit :
> Startup code. Is the following correct?
> - code starts from flash, with TEXT_BASE = start of flash, ie. the code
> is linked to flash addresses.
Correct. The goal of ELF relocation is to allow moving the code from
FLASH to any place in RAM (actually the highest possible location) by
correctly relocating it without developers having to fix or code
anything manually.
> - DATA/BSS are behind the text segment in flash, so the code may not
> write RAM variables until relocation
Actually in FLASH there is no BSS at all -- you cannot use BSS until
after relocation (this was already a constraint in u-boot, even though
before ELF relocation ARM architecture did not make it impossible.
FYI, the BSS location in FLASH is actually occupied by the relocation
tables.
DATA (especially const data) are available, though, read-only.
Any RW data that you absolutely need to set before relocation and access
after it, you need to put in the GD structure.
> - code in flash sets up RAM, copies + relocates u-boot to RAM, and
> continues there
Correct. Rule of thumb is init_board_f() runs in Flash, and
init_board_r() runs in RAM.
> Timer system.
> - For IXP, there are two variants of the timer system - one using
> interrupts, and one without interrupts. Both do not work currently.
> I have patches that fix the non-interrupt version, changing
> CONFIG_SYS_HZ from 66666666 to 1000, bringing it in line with what most
> other ARM platforms do.
> What is the preferred way of handling timers? Should CONFIG_SYS_HZ be
> 1000 or rather the timer clock?
> What about interrupts? Use them or avoid them?
I say in any case don't use them before running from RAM; and if you can
avoid them in u-boot without incurring a huge performance penalty, I
would suggest avoiding them altogether.
Amicalement,
--
Albert.
next prev parent reply other threads:[~2010-12-23 10:20 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-23 9:33 [U-Boot] Fixing IXP42x boards - some general questions Michael Schwingen
2010-12-23 10:10 ` Wolfgang Denk
2010-12-23 10:55 ` Marek Vasut
2010-12-23 15:13 ` Michael Schwingen
2010-12-23 12:23 ` Michael Schwingen
2010-12-23 10:20 ` Albert ARIBAUD [this message]
2010-12-23 10:39 ` Michael Schwingen
2010-12-23 11:28 ` Albert ARIBAUD
2010-12-23 11:57 ` Michael Schwingen
2010-12-23 18:25 ` Michael Schwingen
2010-12-23 18:47 ` Albert ARIBAUD
2010-12-23 20:17 ` Michael Schwingen
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=4D132282.9060403@free.fr \
--to=albert.aribaud@free.fr \
--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