svn commit: r266083 - in head/sys/arm: arm include
Mark R V Murray
markm at FreeBSD.org
Sun Jun 15 15:12:11 UTC 2014
On 30 May 2014, at 09:42, Michael Tuexen <tuexen at fh-muenster.de> wrote:
> On 29 May 2014, at 21:21, Mark R V Murray <markm at FreeBSD.org> wrote:
>
>>
>> On 29 May 2014, at 19:27, Michael Tuexen <tuexen at fh-muenster.de> wrote:
>>
>>> On 29 May 2014, at 20:15, Mark R V Murray <markm at FreeBSD.org> wrote:
>>>
>>>>
>>>> On 29 May 2014, at 19:13, Michael Tuexen <tuexen at fh-muenster.de> wrote:
>>>>
>>>>>> I can make it work on RPI, but trying to find what else it will/won’t work on is more problematic.
>>>>> Wouldn't it require to use different registers on the RPI? This would mean you
>>>>> would need more #ifdefs…
>>>>
>>>> Thats the problem; too many #ifdefs.
>>> So you could just keep the code for now, but reduce the #ifdefs to the ones you
>>> know that work. Later on, you can replace it by the driver stuff…
>>
>> That’s what I was thinking, yes.
> Great. Let me know if you need testing support on the RPI…
I’ve come to the conclusion that my RPI-B is hosed. It doesn’t even boot Raspian properly. Sorry about how long this has taken.
Please could someone with a working RPI please check that the following patch works (may need to apply by hand due to cut/paste).
Thanks, with repeated apologies.
M
--
Mark R V Murray
--- include/cpu.h (revision 267507)
+++ include/cpu.h (working copy)
@@ -25,7 +25,16 @@
* Read PMCCNTR. Curses! Its only 32 bits.
* TODO: Fix this by catching overflow with interrupt?
*/
+/* The ARMv6 vs ARMv7 divide is going to need a better way of
+ * distinguishing between them.
+ */
+#if defined(CPU_ARM1136) || defined(CPU_ARM1176)
+ /* ARMv6 - Earlier model SCCs */
+ __asm __volatile("mrc p15, 0, %0, c15, c12, 1": "=r" (ccnt));
+#else
+ /* ARMv7 - Later model SCCs */
__asm __volatile("mrc p15, 0, %0, c9, c13, 0": "=r" (ccnt));
+#endif
ccnt64 = (uint64_t)ccnt;
return (ccnt64);
#else /* No performance counters, so use binuptime(9). This is slooooow */
More information about the svn-src-head
mailing list