All of lore.kernel.org
 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 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.