From: Scott Wood <scottwood@freescale.com>
To: Jia Hongtao-B38951 <B38951@freescale.com>
Cc: Wood Scott-B07421 <B07421@freescale.com>,
David Laight <David.Laight@ACULAB.COM>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Stuart Yoder <b08248@gmail.com>
Subject: Re: [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx
Date: Tue, 2 Apr 2013 14:46:31 -0500 [thread overview]
Message-ID: <1364931991.24520.17@snotra> (raw)
In-Reply-To: <412C8208B4A0464FA894C5F0C278CD5D01C3248C@039-SN1MPN1-003.039d.mgd.msft.net> (from B38951@freescale.com on Tue Apr 2 04:28:10 2013)
On 04/02/2013 04:28:10 AM, Jia Hongtao-B38951 wrote:
>=20
>=20
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Saturday, March 30, 2013 12:34 AM
> > To: Jia Hongtao-B38951
> > Cc: Wood Scott-B07421; David Laight; linuxppc-dev@lists.ozlabs.org;
> > Stuart Yoder
> > Subject: Re: [PATCH V4] powerpc/85xx: Add machine check handler to =20
> fix
> > PCIe erratum on mpc85xx
> >
> > On 03/29/2013 03:03:51 AM, Jia Hongtao-B38951 wrote:
> > > BTW, I'm still not sure how to deal with LD instruction with =20
> update.
> >
> > You would need to do the update yourself. Or just say that's a =20
> case you
> > don't handle, and return 0.
> >
> > Again, please check for the size of the load operation.
> >
> > -Scott
>=20
> For informing error to the process that hold the stall instruction
> we need to do:
> 1. Verify the instruction is load.
> 2. Fill the rd register with ~0UL.
> 3. Deal with the load instruction with update.
>=20
> Here is the problems:
> 1. So many load instructions to handle. There are dozens of load =20
> instructions
> and most of them with different op code. Like:
If you don't want to handle all of them, then don't, but in case you =20
run into an instruction you don't handle, don't skip it -- just let the =20
normal machine check handler run.
>=20
> lbz: 1 0 0 0 1 0
> lhz: 1 0 1 0 0 0
> lwz: 1 0 0 0 0 0
> ld : 1 1 1 0 1 0
> ...
>=20
> Is there any available API for verifying the load instruction?
I don't know of anything in terms of an *API*... after all, you're not =20
just "verifying" it, you're extracting information to determine how to =20
emulate the instruction.
As for code you could borrow from, there's KVM emulation and probably =20
other places.
> 2. For different size of load operation could we just fill the rd =20
> register with
> ~0UL?
Who knows in what ways the compiler is making assumptions about the =20
upper bits being zero after an lbz, etc...
> 3. A load instruction with update could not just verified by op code. =20
> I'd like
> to leave it along. I think we could not fix but just inform the =20
> error by
> filling the rd with ~0UL. Could you explain why should we care =20
> about the update?
If you're emulating the instruction, you need to handle all of that =20
instruction's effects. If you're not going to emulate the instruction, =20
don't skip it.
-Scott=
next prev parent reply other threads:[~2013-04-02 19:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-04 8:40 [PATCH V4] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx Jia Hongtao
2013-03-04 16:16 ` Stuart Yoder
2013-03-04 23:45 ` Scott Wood
2013-03-05 10:12 ` Jia Hongtao-B38951
2013-03-05 18:47 ` Scott Wood
2013-03-06 8:28 ` Jia Hongtao-B38951
2013-03-06 10:24 ` David Laight
2013-03-07 8:06 ` Jia Hongtao-B38951
2013-03-07 10:04 ` David Laight
2013-03-07 16:37 ` Scott Wood
2013-03-08 8:01 ` Jia Hongtao-B38951
2013-03-09 0:49 ` Scott Wood
2013-03-12 7:40 ` Jia Hongtao-B38951
2013-03-12 9:47 ` David Laight
2013-03-12 21:24 ` Scott Wood
2013-03-13 9:40 ` David Laight
2013-03-13 16:37 ` Scott Wood
2013-03-15 2:47 ` Jia Hongtao-B38951
2013-03-15 16:34 ` Scott Wood
2013-03-29 8:03 ` Jia Hongtao-B38951
2013-03-29 16:33 ` Scott Wood
2013-04-02 9:28 ` Jia Hongtao-B38951
2013-04-02 19:46 ` Scott Wood [this message]
2013-03-04 17:15 ` David Laight
2013-03-05 10:12 ` Jia Hongtao-B38951
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=1364931991.24520.17@snotra \
--to=scottwood@freescale.com \
--cc=B07421@freescale.com \
--cc=B38951@freescale.com \
--cc=David.Laight@ACULAB.COM \
--cc=b08248@gmail.com \
--cc=linuxppc-dev@lists.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 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.