From: "Joakim Tjernlund" <joakim.tjernlund@transmode.se>
To: <hs@denx.de>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: MPC885 hang in a lwarx/stwcx insn crossing a page boundary
Date: Tue, 24 Apr 2007 12:06:46 +0200 [thread overview]
Message-ID: <1177409206.4388.57.camel@gentoo-jocke.transmode.se> (raw)
In-Reply-To: <1177394147.6353.30.camel@Zeus.EmbLux>
On Tue, 2007-04-24 at 07:55 +0200, Heiko Schocher wrote:
> Hello,
>=20
> I have a MPC885 and a running 2.6.16 kernel on it. I use the CPU15
> Errata Patch from
> (http://ozlabs.org/pipermail/linuxppc-dev/2007-April/033789.html)
>=20
> Now if a lwarx/stwcx insn crossing a page boundary, the CPU hangs in
> an endless loop, because the reservation allocated from the lwarx gets
> cleared in the case of a tlb miss. And the CPU15 workaround =
invalidates
> the tlbs around the page we're faulting in, so we cause a nasty =
infinite
> loop. I started a service request at Freescale, and they are searching
> why a tlbie clears the reservation or under which circumstances this
> appears.
>=20
> Without the CPU15 Errata patch it runs fine, but i can reproduce the
> CPU15 Bug, so I need the or some CPU15 Errata patch ...
>=20
> I also have a running 2.4.24-pre2 Kernel on this board, with the same
> CPU15 Errata patch, and there the hang doesnt occur!! Some ideas where
> the differences between 2.4.24-pre2 and 2.6.16 are?
>=20
> I also didnt get this hang in userspace with the 2.6.16er Kernel.
>=20
> So I see at the moment the following possibilities:
>=20
> a) patching the gcc, so that the CPU15 Errata is no more necessary
> My favorit.
>=20
> b) upgrade the CPU15 Bug like in the MPC885 Errata Sheet from =
Freescale
> (I think this is to much code for in an Exceptionhandler ...)
>=20
> c) I made before every lwarcx a ".align" so that the insn is on one
> page. This is actually running without seeing problems on the =
board.
> But it is a "errata" for the "errata" ...
>=20
> d) ...
>=20
> Some suggestions, ideas? Especially, why the hang doesnt occur with a
> 2.4.24-pre2 kernel?
A guess:
The TLB Miss handler changed for the case when "Level 1 entry" is null.
2.6 will force a TLB Error to happen, but 2.4 will(at least used to)
bail out via DataAccess.
Jocke
>=20
> thanks
> Heiko
prev parent reply other threads:[~2007-04-24 10:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-24 5:55 MPC885 hang in a lwarx/stwcx insn crossing a page boundary Heiko Schocher
2007-04-24 10:06 ` Joakim Tjernlund [this message]
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=1177409206.4388.57.camel@gentoo-jocke.transmode.se \
--to=joakim.tjernlund@transmode.se \
--cc=hs@denx.de \
--cc=linuxppc-embedded@ozlabs.org \
/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