emilio86
Posts: 3
Joined: Thu Mar 17, 2016 3:17 pm

Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Mar 17, 2016 3:33 pm

Hello. I purchased a raspberry pi 3 by http://it.rs-online.com website. Once installed ubuntu Mate, I did a check of the technical specifications of the raspberry, and it is found that the processor is a ARMv7l "breadcom BCM2709" instead of a ARMv8.
You know explain the reason? I think that this anomaly is truly paradoxical. :?: :?: :?: :?: :?: :?: :?:

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23614
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Mar 17, 2016 4:21 pm

That is being reported incorrectly - its definitely Armv8 (Four a53 cores)

However, all the current OS' are 32bit, 64 versions are under development.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

fruitoftheloom
Posts: 20676
Joined: Tue Mar 25, 2014 12:40 pm
Location: Delightful Dorset

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Mar 17, 2016 4:41 pm

emilio86 wrote:Hello. I purchased a raspberry pi 3 by http://it.rs-online.com website. Once installed ubuntu Mate, I did a check of the technical specifications of the raspberry, and it is found that the processor is a ARMv7l "breadcom BCM2709" instead of a ARMv8.
You know explain the reason? I think that this anomaly is truly paradoxical. :?: :?: :?: :?: :?: :?: :?:
"breadcom BCM2709" it is actually Broadcom !

Code: Select all

cat /proc/cpuinfo
http://elinux.org/RPi_HardwareHistory
Retired disgracefully.....

emilio86
Posts: 3
Joined: Thu Mar 17, 2016 3:17 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Mar 17, 2016 4:54 pm

jamesh wrote:That is being reported incorrectly - its definitely Armv8 (Four a53 cores)

However, all the current OS' are 32bit, 64 versions are under development.
Thank you for answering. However I do not agree with his answer because the Linux operating system, includes commands that allow you to read information from hardware devices. The illustrate the two commands that I used on raspberry pi 3 to read the cpu informations.
Command one:
desktop:~$ lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Model name: ARMv7 Processor rev 4 (v7l)
CPU max MHz: 1200,0000
CPU min MHz: 600,0000

Command two:
desktop:~$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 76.80
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 76.80
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 76.80
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 76.80
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Hardware : BCM2709
Revision : a02082
Serial : 00000000e3972860

User avatar
RaTTuS
Posts: 10454
Joined: Tue Nov 29, 2011 11:12 am
Location: North West UK

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Mar 17, 2016 5:06 pm

because it is running in 32bit mode it is begin reported as such
when it runs in 64bit mode it will have different output
How To ask Questions :- http://www.catb.org/esr/faqs/smart-questions.html
WARNING - some parts of this post may be erroneous YMMV

1QC43qbL5FySu2Pi51vGqKqxy3UiJgukSX
Covfefe

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23614
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Fri Mar 18, 2016 10:36 am

emilio86 wrote:
jamesh wrote:That is being reported incorrectly - its definitely Armv8 (Four a53 cores)

However, all the current OS' are 32bit, 64 versions are under development.
Thank you for answering. However I do not agree with his answer because the Linux operating system, includes commands that allow you to read information from hardware devices. The illustrate the two commands that I used on raspberry pi 3 to read the cpu informations.
They are definitely a53 cores on the Pi3. No doubt whatsoever.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

emilio86
Posts: 3
Joined: Thu Mar 17, 2016 3:17 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Fri Mar 18, 2016 11:22 am

Thank you all for the information.
Yesterday I studied on the basis of your information, and I found this link that describes All the amenities of the raspberry pi 3 than the raspberry pi 2:

https://www.element14.com/community/com ... hmark-ever
:) :)

User avatar
E3V3A
Posts: 26
Joined: Sun Apr 17, 2016 7:13 am
Location: -∇φ

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 4:19 pm

This should really be fixed, regardless of whether kernel is running in 32 or 64 bit mode. Why hasn't it been fixed? (Beginners are getting confused all over the place.)

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 4:53 pm

Well when running in Aarch32 mode it acts like an ARMv7 with some missing instructions, so it makes perfect since that it is reported as an ARMv7 (though that should be modified to highlight the missing instructions, and depricated forms of other instructions that work on a real ARMv7 and not an ARMv8 in Aarch32 mode).
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

ejolson
Posts: 3542
Joined: Tue Mar 18, 2014 11:47 am

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 5:05 pm

DavidS wrote:Well when running in Aarch32 mode it acts like an ARMv7 with some missing instructions, so it makes perfect since that it is reported as an ARMv7 (though that should be modified to highlight the missing instructions.
Do you have an experimentally verified list of deprecated instructions that operate differently on a Pi 3 versus a Pi 2. I'm thinking in particular of SMP memory barrier and fence instructions. Also, if there are differences, then it should be possible in software to detect a Cortex-A53 running in ARMv7 mode and report this properly in /proc/cpuinfo. Maybe if less time were spent discussing splash screens.

User avatar
davidcoton
Posts: 4123
Joined: Mon Sep 01, 2014 2:37 pm
Location: Cambridge, UK

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 5:32 pm

Splash screens may not be important to you, but if a consequence of enabling the splash screen by default is that some previously working systems will no longer boot, that is a high impact problem. On the face of it much more urgent than an error in a report, that can't be rated as more than unfortunate.

I've managed bug lists for commercial products, and believe me prioritisation is a no-win situation. One person's "critical situation" against a stupid inconvenience for most users. Anyone? (Answer: it depends how many licences the one person will buy.... :evil: :roll: )
Signature retired

User avatar
DougieLawson
Posts: 36089
Joined: Sun Jun 16, 2013 11:19 pm
Location: Basingstoke, UK
Contact: Website Twitter

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 6:48 pm

davidcoton wrote:I've managed bug lists for commercial products, and believe me prioritisation is a no-win situation. One person's "critical situation" against a stupid inconvenience for most users. Anyone? (Answer: it depends how many licences the one person will buy.... :evil: :roll: )
That's not unlike how it was when I worked for IBM. There was one notable customer who called "severity 1" for every problem record to the point where they were calling in their ticket before they'd even determined the vaguest details of why their mainframe and customer facing application was broken (let alone providing even the basic diagnostic materials). It was impossible to work with folks like that. Their absurd tickets basically said, "get your crystal ball running you've got to use that to divine what we're telling you and guess the solution".
Note: Having anything humorous in your signature is completely banned on this forum. Wear a tin-foil hat and you'll get a ban.

Any DMs sent on Twitter will be answered next month.

This is a doctor free zone.

jahboater
Posts: 4673
Joined: Wed Feb 04, 2015 6:38 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 7:20 pm

ejolson wrote:
DavidS wrote:Well when running in Aarch32 mode it acts like an ARMv7 with some missing instructions, so it makes perfect since that it is reported as an ARMv7 (though that should be modified to highlight the missing instructions.
Do you have an experimentally verified list of deprecated instructions that operate differently on a Pi 3 versus a Pi 2. I'm thinking in particular of SMP memory barrier and fence instructions.[/url].
ARM documentation:

Code: Select all

The following are obsoleted in ARMv8:
• A32 SWP and SWPB instructions.
• Jazelle (only trivial implementations are supported).
• VFP short vectors and asynchronous bounces.
• Fast Context Switch Extension (FCSE).
The following are deprecated in ARMv8 and may be disabled by privileged software:
• A32 and T32 CP15 barriers CP15DSB, CP15ISB and CP15DMB.
• A32 and T32 SETEND instruction.
• A subset of T32 IT instruction functionality, as described in §6.1 below.
• T32EE instructions and coprocessor registers are both deprecated and optional.

jahboater
Posts: 4673
Joined: Wed Feb 04, 2015 6:38 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Oct 01, 2016 7:24 pm

RaTTuS wrote:because it is running in 32bit mode it is begin reported as such
when it runs in 64bit mode it will have different output
In 64-bit mode lscpu reports "Architecture: aarch64"

No ARMv7 CPU can run aarch64. It is most definitely armv8.

filker0
Posts: 2
Joined: Wed Apr 06, 2016 1:41 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Jan 07, 2017 5:01 pm

To make it clear why /proc/cpuinfo does not report the cores as ARM Cortex-A53 when running in 32 bit mode:
  • The kernel is a V6 kernel; it is unaware of the V8 architecture so the CPU cores must present themselves in a way compatible with the V6 (Raspberry Pi 1)
  • Many drivers, libraries, services, utilities, and the kernel itself, use the information in /proc/cpuinfo to determine how to behave
The "CPU Part" value "d03" from the MIDR register identifies the core as A53. http://infocenter.arm.com/help/index.js ... FEABI.html has the information about the A53 (the link is to the AArch32 MIDR page, but you can navigate around it for the rest of the info.)
I hope this helps put this issue to rest.
Last edited by filker0 on Sat Jan 07, 2017 5:51 pm, edited 1 time in total.

User avatar
bensimmo
Posts: 4172
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sat Jan 07, 2017 5:21 pm

You could add
arm_control=0x200
To config.txt if I remember correctly, to tell it to show v8?

jytou
Posts: 3
Joined: Sun Jan 08, 2017 4:43 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sun Jan 08, 2017 4:55 pm

Hi all,
I'm new here and I'm having trouble compiling handbrake and searching for the best options to use while compiling.
My understanding is that the RPI3 has 64 bit armv8 cores but as the kernel doesn't recognize them because it lacks support, any cpuinfo gathered from the system is unreliable. And the system is in the meantime running 32 bits with a strange "v7" set of instructions for lack of support of the 64 bit cores.

Okay. Good. But now, what options should I use for GCC on such a system? If I use armv8, am I not going to get into trouble since the proc is not recognized to run in 64 bit mode in the system anyway? If I use armv7, am I not going to have instructions that are actually not supported by the armv8 since it is not a v7? What would be the preferred set of mcpu/march and also fpu while we're at it?

Typically, compiling handbrake with armv7 is not going very far. But even if compiling with armv8 gets further, it is giving the "double free or corruption" error message and I can't go further. I've tried different flavors of arch/cpu settings, to no avail so far. So I'm just wondering what the recommended settings would be, since it seems we're in a hybrid position here...

Thanks!

jahboater
Posts: 4673
Joined: Wed Feb 04, 2015 6:38 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Sun Jan 08, 2017 6:49 pm

ARM v8 can run in 32-bit mode or 64-bit (aarch64) mode.
Currently Raspbian runs in 32-bit mode. There is nothing wrong with that, it is not a kludge.
Okay. Good. But now, what options should I use for GCC on such a system? If I use armv8, am I not going to get into trouble since the proc is not recognized to run in 64 bit mode in the system anyway? If I use armv7, am I not going to have instructions that are actually not supported by the armv8 since it is not a v7? What would be the preferred set of mcpu/march and also fpu while we're at it?
I use:

Code: Select all

-mcpu=cortex-a53  -mfpu=neon-fp-armv8  -mneon-for-64bits
If you find a 64-bit OS to run on the Pi then

Code: Select all

-mcpu=cortex-a53
is sufficient.

NEON/floating point is fixed and always available in aarch64 so there are no options for it.

jytou
Posts: 3
Joined: Sun Jan 08, 2017 4:43 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Mon Jan 09, 2017 4:42 pm

jahboater wrote:I use:

Code: Select all

-mcpu=cortex-a53  -mfpu=neon-fp-armv8  -mneon-for-64bits
Thanks, I'll go with that. It didn't solve my particular problem with compiling handbrake's newest version, but an older one worked.

eskc
Posts: 1
Joined: Tue Aug 08, 2017 10:35 am

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Tue Aug 08, 2017 11:41 am

bensimmo wrote:
Sat Jan 07, 2017 5:21 pm
You could add
arm_control=0x200
To config.txt if I remember correctly, to tell it to show v8?
Do NOT do that. It caused the boot sequence to hang.

If you have done this, you will have to move the SD card to a reader connected to a PC; and remove using a plain text editor using notepad or notepad++ . Thus, it will revive as normal.

JJBza
Posts: 1
Joined: Thu Aug 17, 2017 8:45 pm

Re: Raspberry Pi 3 have CPU armv7l instead Armv8

Thu Aug 17, 2017 8:49 pm

Hi There,

Completely new to this as well. So I understand that the Raspbian version only support 32bit at the moment and hence using Raspbian on the Pi3 causes the Pi3 /proc/cpuinfo to report ARMv7, but if ARMv8 supports 32bit, is there some change to make such that the Pi reports ARMv8 but in 32bit mode?

Thanks for the information so far.

Return to “General discussion”