All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned
Date: Wed, 11 Jun 2014 09:47:20 +0200	[thread overview]
Message-ID: <53980988.7000108@denx.de> (raw)
In-Reply-To: <E1WuckE-0001UK-Az@janus>

Hello Albert,

Am 11.06.2014 09:14, schrieb Albert ARIBAUD:
> 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:

See "AM18xx Bootloader Application Report":
http://www.ti.com/lit/pdf/spraba5

Section "3.1 NOR Boot" on page 3ff

This word is used to setup some settings ...

> - 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);

I try to find some time for it ...

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  reply	other threads:[~2014-06-11  7:47 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         ` [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned (was: [PATCH] arm: fix a build error with CONFIG_USE_IRQ) Albert ARIBAUD
2014-06-11  7:47           ` Heiko Schocher [this message]
2014-06-11 13:15             ` [U-Boot] enbw_cmc, da850evm_direct_nor, and calimain vectors table misaligned 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=53980988.7000108@denx.de \
    --to=hs@denx.de \
    --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.