public inbox for u-boot@lists.denx.de
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox