public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned (was: [PATCH] arm: fix a build error with CONFIG_USE_IRQ)
Date: Wed, 11 Jun 2014 09:14:49 +0200	[thread overview]
Message-ID: <E1WuckE-0001UK-Az@janus> (raw)
In-Reply-To: <20140609182926.95C2.AA925319@jp.panasonic.com>

Hi Masahiro,

(to: the board maintainers for enbw_cmc, da850evm_direct_nor, and
calimain)

On Mon, 09 Jun 2014 18:29:26 +0900, Masahiro Yamada
<yamada.m@jp.panasonic.com> wrote:

> Hi Albert,

> You changed the behaviour of three boards,
> "enbw_cmc", "da850evm_direct_nor", "calimain"!
> Probably they are broken.
> 
> These boards expects "0x00000011" (=CONFIG_SYS_DV_NOR_BOOT_CFG)
> at the beginning of the image.
> But since commit 41623c91, that is missing.
> 
> If you still don't understand,  you should checkout   41623c91^ and
> 41623c91 and compare u-boot.dis.

Your description of the effects of my change is correct. However, this
raises another question which I would like to see discussed before
doing anything about these boards.

Taking the last commit where the prefix word was actually emitted (that
is, 41623c91^, which is actually 60a4f39f, "arm: remove unused _end_vect
and _vectors_end symbols"), and reading arch/arm/cpu/arm926ejs/start.S,
I see that the start of the image looks like this:

offset   Content
+0x0000  prefix word CONFIG_SYS_DV_NOR_BOOT_CFG
+0x0004  reset vector
+0x0008  undefined instruction vector
+0x000c  software interrupt vector
+0x0010  prefetch abort vector
+0x0014  data abort vector
+0x0018  unused
+0x001c  irq vector
+0x0020  fiq vector
+0x0024  (end of vectors table)

And that is /wrong/: the vectors table is misaligned by 4 bytes.

Obviously, the boards have been working fine for a long time, because
no exception vector was used apparently (or because when exceptions did
happen, the error was debugged without the need to analyze the
exception).

I suspect we could just remove the '.word CONFIG_SYS_DV_NOR_BOOT_CFG'
line from the vectors.S file and prepend the word to the image /after/
linking.

This, of course, requires confirmation from maintainers.

Manfred, Christian, Sudhakar, Heiko: can any one of you let us know the
reason for this signature word exactly, and how exactly it is used by
the board? Ideally, can you also:

- test a current build (which does not have the signature word) and
  confirm it fails to load);

- test the same build with the 4-byte signature manually prepended
  (this may possibly require padding the image);

> Best Regards
> Masahiro Yamada

Amicalement,
-- 
Albert.

  parent reply	other threads:[~2014-06-11  7:14 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-26 10:43 [U-Boot] [PATCH] arm: fix a build error with CONFIG_USE_IRQ Masahiro Yamada
2014-06-09  7:14 ` Albert ARIBAUD
2014-06-09  7:36   ` Masahiro Yamada
2014-06-09  8:35     ` Albert ARIBAUD
2014-06-09  9:29       ` Masahiro Yamada
2014-06-09  9:42         ` Albert ARIBAUD
2014-06-09 11:19           ` Masahiro Yamada
2014-06-11  7:14         ` Albert ARIBAUD [this message]
2014-06-11  7:47           ` [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned Heiko Schocher
2014-06-11 13:15             ` Christian Riesch
2014-06-12  8:05               ` Christian Riesch
2014-06-13  7:46           ` [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned (was: [PATCH] arm: fix a build error with CONFIG_USE_IRQ) Masahiro Yamada
2014-06-18 12:55           ` Christian Riesch
2014-06-18 13:08             ` Christian Riesch
2014-07-02 13:45             ` Christian Riesch
2014-07-04 20:35               ` Albert ARIBAUD
2014-07-07  7:15                 ` Christian Riesch
2014-07-07  8:55                   ` Christian Riesch
2014-06-09 11:18       ` [U-Boot] [PATCH] arm: fix a build error with CONFIG_USE_IRQ Masahiro Yamada

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=E1WuckE-0001UK-Az@janus \
    --to=albert.u.boot@aribaud.net \
    --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