From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] 8313erdb: Set guarded bit on BAT that covers the end of the address space.
Date: Tue, 17 Mar 2009 23:12:36 +0300 [thread overview]
Message-ID: <20090317201236.GA16595@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <49BFFEBD.3050503@freescale.com>
On Tue, Mar 17, 2009 at 02:49:17PM -0500, Scott Wood wrote:
> Anton Vorontsov wrote:
>> On Tue, Mar 17, 2009 at 12:09:31PM -0500, Scott Wood wrote:
>>> This board currently sets DBAT6 to cover all of the final 256MiB of
>>> address space; however, not all of this space is covered by a device. In
>>> particular, flash sits at 0xfe000000-0xfe7fffff, and nothing is mapped
>>> at the far end of the address space.
>>>
>>> In zlib, there is a loop that references p[-1] if p is non-NULL. Under
>>> some circumstances, this leads to the CPU speculatively loading from
>>> 0xfffffff8 if p is NULL. This leads to a machine check.
>>>
>>> Signed-off-by: Scott Wood <scottwood@freescale.com>
>>> ---
>>> Note that there are likely other board with the same issue.
>>
>> Wow, I was actually chasing this (I think) bug for some time.
>>
>> The effect of this bug was quite weird: some kernels didn't
>> boot, and the only difference in the kernel image was.. the build
>> date (i.e. data in linux_banner and init_uts_ns symbols).
>>
>> I suspected the decompression code (what else could it be?), but I
>> didn't manage to track it down to a failing instruction, as the
>> failing kernel was booting *OK* with BDI-2000 attached. Heh.
>>
>> I wonder how you tracked it down to zlib code and a particular
>> loop, please share the technique. ;-)
>
> I changed the kernel's decompression address to 0x1000 so that the
> exception vectors don't get overwritten,
Ah. That's the key part, and no need for jtag/cop debuggers at all,
which, it appears, pampered me. Neat.
Thanks Scott.
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
next prev parent reply other threads:[~2009-03-17 20:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-17 17:09 [U-Boot] [PATCH] 8313erdb: Set guarded bit on BAT that covers the end of the address space Scott Wood
2009-03-17 17:43 ` Anton Vorontsov
2009-03-17 19:49 ` Scott Wood
2009-03-17 20:12 ` Anton Vorontsov [this message]
2009-03-17 17:47 ` Mike Frysinger
2009-03-17 17:52 ` Scott Wood
2009-03-17 18:07 ` Mike Frysinger
2009-03-17 18:13 ` Kumar Gala
2009-03-17 18:38 ` Mike Frysinger
2009-03-17 18:18 ` Scott Wood
2009-03-17 18:46 ` Mike Frysinger
2009-03-17 19:11 ` Scott Wood
2009-03-18 12:53 ` Jerry Van Baren
2009-03-18 7:41 ` Norbert van Bolhuis
2009-03-23 9:51 ` Liu Dave-R63238
2009-03-30 22:56 ` Kim Phillips
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=20090317201236.GA16595@oksana.dev.rtsoft.ru \
--to=avorontsov@ru.mvista.com \
--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.