From: Tony Lindgren <tony@atomide.com>
To: Rob Herring <robherring2@gmail.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
Dave Martin <dave.martin@linaro.org>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
Jon Hunter <jon-hunter@ti.com>,
linux-omap@vger.kernel.org,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] ARM: Fix errata 751472 handling on Cortex-A9 r1p*
Date: Wed, 14 Nov 2012 18:08:56 -0800 [thread overview]
Message-ID: <20121115020856.GG6801@atomide.com> (raw)
In-Reply-To: <50A43D58.5030404@gmail.com>
* Rob Herring <robherring2@gmail.com> [121114 16:56]:
> On 11/14/2012 04:21 PM, Tony Lindgren wrote:
> > * Rob Herring <robherring2@gmail.com> [121114 13:59]:
> >> On 11/14/2012 02:32 PM, Tony Lindgren wrote:
> >>>
> >>> Checking for the bit already set should work in this case, I'll post
> >>> a patch for that shortly.
> >>
> >> Can you actually read the state of the diagnostic register in non-secure
> >> mode? If you can on the A9, is the same true on A8 or others?
> >
> > Looks like it can be read on at least TI omap 4430 which is A9.
> > But it reads as zero, so the below patch is what I came up with.
> >
> > No idea if assuming that zero value for the diagnostic register
> > is safe.. What's the default value of the diagnostic register supposed
> > to be?
>
> RTFM. Oh, wait it's a super secret, undocumented register. We shouldn't
> even be talking about it.
WITFM? :)
> It could vary by rev, but I see 0 for the reset value, so this would not
> work if the bootloader did not do any setup of the diagnostic register.
OK
> One way to determine secure mode on the A9 would be seeing if you can
> change the auxcr register. Something like this (untested):
>
> mrc p15, 0, r0, c1, c0, 1; Read ACTLR
> eor r1, r0, #0x100 ; Modify alloc in 1 way
> mcr p15, 0, r1, c1, c0, 1
> mrc p15, 0, r2, c1, c0, 1; Read ACTLR
> mcr p15, 0, r0, c1, c0, 1 ; Restore original value
> cmp r1, r2
> bne skip_errata
>
>
> It would be good to do this test for all the errata rather than just
> this one.
I recall writes to the aux control registers producing an exception
on secure A8 based omaps, but I'll give that a try when I have a
chance.
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: Fix errata 751472 handling on Cortex-A9 r1p*
Date: Wed, 14 Nov 2012 18:08:56 -0800 [thread overview]
Message-ID: <20121115020856.GG6801@atomide.com> (raw)
In-Reply-To: <50A43D58.5030404@gmail.com>
* Rob Herring <robherring2@gmail.com> [121114 16:56]:
> On 11/14/2012 04:21 PM, Tony Lindgren wrote:
> > * Rob Herring <robherring2@gmail.com> [121114 13:59]:
> >> On 11/14/2012 02:32 PM, Tony Lindgren wrote:
> >>>
> >>> Checking for the bit already set should work in this case, I'll post
> >>> a patch for that shortly.
> >>
> >> Can you actually read the state of the diagnostic register in non-secure
> >> mode? If you can on the A9, is the same true on A8 or others?
> >
> > Looks like it can be read on at least TI omap 4430 which is A9.
> > But it reads as zero, so the below patch is what I came up with.
> >
> > No idea if assuming that zero value for the diagnostic register
> > is safe.. What's the default value of the diagnostic register supposed
> > to be?
>
> RTFM. Oh, wait it's a super secret, undocumented register. We shouldn't
> even be talking about it.
WITFM? :)
> It could vary by rev, but I see 0 for the reset value, so this would not
> work if the bootloader did not do any setup of the diagnostic register.
OK
> One way to determine secure mode on the A9 would be seeing if you can
> change the auxcr register. Something like this (untested):
>
> mrc p15, 0, r0, c1, c0, 1; Read ACTLR
> eor r1, r0, #0x100 ; Modify alloc in 1 way
> mcr p15, 0, r1, c1, c0, 1
> mrc p15, 0, r2, c1, c0, 1; Read ACTLR
> mcr p15, 0, r0, c1, c0, 1 ; Restore original value
> cmp r1, r2
> bne skip_errata
>
>
> It would be good to do this test for all the errata rather than just
> this one.
I recall writes to the aux control registers producing an exception
on secure A8 based omaps, but I'll give that a try when I have a
chance.
Regards,
Tony
next prev parent reply other threads:[~2012-11-15 2:09 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 18:53 [PATCH] ARM: Fix errata 751472 handling on Cortex-A9 r1p* Tony Lindgren
2012-11-14 18:53 ` Tony Lindgren
2012-11-14 19:01 ` Russell King - ARM Linux
2012-11-14 19:01 ` Russell King - ARM Linux
2012-11-14 19:19 ` Tony Lindgren
2012-11-14 19:19 ` Tony Lindgren
2012-11-14 19:06 ` Jon Hunter
2012-11-14 19:06 ` Jon Hunter
2012-11-14 19:21 ` Tony Lindgren
2012-11-14 19:21 ` Tony Lindgren
2012-11-14 20:22 ` Russell King - ARM Linux
2012-11-14 20:22 ` Russell King - ARM Linux
2012-11-14 20:32 ` Tony Lindgren
2012-11-14 20:32 ` Tony Lindgren
2012-11-14 21:57 ` Rob Herring
2012-11-14 21:57 ` Rob Herring
2012-11-14 22:21 ` Tony Lindgren
2012-11-14 22:21 ` Tony Lindgren
2012-11-15 0:54 ` Rob Herring
2012-11-15 0:54 ` Rob Herring
2012-11-15 2:08 ` Tony Lindgren [this message]
2012-11-15 2:08 ` Tony Lindgren
2012-11-15 11:01 ` Catalin Marinas
2012-11-15 11:01 ` Catalin Marinas
2012-11-15 12:41 ` Siarhei Siamashka
2012-11-15 12:41 ` Siarhei Siamashka
2012-11-15 13:36 ` Russell King - ARM Linux
2012-11-15 13:36 ` Russell King - ARM Linux
2012-11-15 13:52 ` Catalin Marinas
2012-11-15 13:52 ` Catalin Marinas
2012-11-15 15:14 ` Måns Rullgård
2012-11-15 15:14 ` Måns Rullgård
2012-11-15 14:31 ` Rob Herring
2012-11-15 14:31 ` Rob Herring
2012-11-15 14:37 ` Catalin Marinas
2012-11-15 14:37 ` Catalin Marinas
2012-11-15 15:37 ` Rob Herring
2012-11-15 15:37 ` Rob Herring
2012-11-15 16:06 ` Catalin Marinas
2012-11-15 16:06 ` Catalin Marinas
2012-11-16 10:05 ` Russell King - ARM Linux
2012-11-16 10:05 ` Russell King - ARM Linux
2012-11-16 17:13 ` Tony Lindgren
2012-11-16 17:13 ` Tony Lindgren
2012-11-16 18:41 ` Russell King - ARM Linux
2012-11-16 18:41 ` Russell King - ARM Linux
2012-11-16 9:59 ` Russell King - ARM Linux
2012-11-16 9:59 ` Russell King - ARM Linux
2012-11-16 18:09 ` Catalin Marinas
2012-11-16 18:09 ` Catalin Marinas
2012-11-16 18:39 ` Russell King - ARM Linux
2012-11-16 18:39 ` Russell King - ARM Linux
2012-11-17 10:46 ` Catalin Marinas
2012-11-17 10:46 ` Catalin Marinas
2012-11-15 9:22 ` Russell King - ARM Linux
2012-11-15 9:22 ` Russell King - ARM Linux
2012-12-12 0:46 ` Jon Masters
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=20121115020856.GG6801@atomide.com \
--to=tony@atomide.com \
--cc=Catalin.Marinas@arm.com \
--cc=dave.martin@linaro.org \
--cc=jon-hunter@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=robherring2@gmail.com \
--cc=santosh.shilimkar@ti.com \
--cc=will.deacon@arm.com \
/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.