Skip to content

Instantly share code, notes, and snippets.

@Terminus-IMRC
Last active December 13, 2020 11:01
Show Gist options
  • Save Terminus-IMRC/95f75202f9a22f46dae1e27074a2cab8 to your computer and use it in GitHub Desktop.
Save Terminus-IMRC/95f75202f9a22f46dae1e27074a2cab8 to your computer and use it in GitHub Desktop.
Raspberry Pi informations

Raspberry Pi informations

Table of contents

cpuinfo

Obtained from /proc/cpuinfo, while the trailing eight digits of serial numbers are masked:

Raspberry Pi 1

processor	: 0
model name	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 697.95
Features	: half thumb fastmult vfp edsp java tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2835
Revision	: 900032
Serial		: 00000000xxxxxxxx
Model		: Raspberry Pi Model B Plus Rev 1.2

Raspberry Pi 2

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

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

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

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

Hardware	: BCM2835
Revision	: a01041
Serial		: 00000000xxxxxxxx
Model		: Raspberry Pi 2 Model B Rev 1.1

Raspberry Pi 3

processor	: 0
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
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	: 38.40
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	: 38.40
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	: 38.40
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	: BCM2835
Revision	: 2a020d3
Serial		: 00000000xxxxxxxx
Model		: Raspberry Pi 3 Model B Plus Rev 1.3

Raspberry Pi 4

processor	: 0
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
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	: 0xd08
CPU revision	: 3

processor	: 1
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
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	: 0xd08
CPU revision	: 3

processor	: 2
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
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	: 0xd08
CPU revision	: 3

processor	: 3
model name	: ARMv7 Processor rev 3 (v7l)
BogoMIPS	: 108.00
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	: 0xd08
CPU revision	: 3

Hardware	: BCM2835
Revision	: b03111
Serial		: 10000000xxxxxxxx
Model		: Raspberry Pi 4 Model B Rev 1.1

bcm_host

libbcm_host has some interfaces to query Raspberry Pi informations.

Obtained by libbcm_host_test:

Raspberry Pi 1

peripheral_address: 0x20000000
peripheral_size: 0x02000000
sdram_address: 0x40000000
model_type: 3 (BCM_HOST_BOARD_TYPE_MODELBPLUS)
is_model_pi4: 0
is_fkms_active: 0
is_kms_active: 0
processor_id: 0 (BCM_HOST_PROCESSOR_BCM2835)

Raspberry Pi 2

peripheral_address: 0x3f000000
peripheral_size: 0x01000000
sdram_address: 0xc0000000
model_type: 4 (BCM_HOST_BOARD_TYPE_PI2MODELB)
is_model_pi4: 0
is_fkms_active: 0
is_kms_active: 0
processor_id: 1 (BCM_HOST_PROCESSOR_BCM2836)

Raspberry Pi 3

peripheral_address: 0x3f000000
peripheral_size: 0x01000000
sdram_address: 0xc0000000
model_type: 13 (BCM_HOST_BOARD_TYPE_PI3MODELBPLUS)
is_model_pi4: 0
is_fkms_active: 0
is_kms_active: 0
processor_id: 2 (BCM_HOST_PROCESSOR_BCM2837)

Raspberry Pi 4

peripheral_address: 0xfe000000
peripheral_size: 0x01800000
sdram_address: 0xc0000000
model_type: 17 (BCM_HOST_BOARD_TYPE_PI4MODELB)
is_model_pi4: 1
is_fkms_active: 1
is_kms_active: 0
processor_id: 3 (BCM_HOST_PROCESSOR_BCM2838)

Auxiliary vectors

According to getauxval(3), AUXV (auxiliary vector) is a mechanism that the kernel's ELF binary loader uses to pass certain information to user space when a program is executed. The contents can be obtained from /proc/self/auxv, through getauxval(3), or by setting LD_SHOW_AUXV=1 environment variable when running a program.

Auxiliary vectors obtained by LD_SHOW_AUXV=1 /bin/true:

Raspberry Pi 1

AT_HWCAP:        half thumb fastmult vfp edsp java tls
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x10034
AT_PHENT:        32
AT_PHNUM:        9
AT_BASE:         0xb6ee5000
AT_FLAGS:        0x0
AT_ENTRY:        0x10dc0
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0xbef0dbb8
AT_HWCAP2:
AT_EXECFN:       /bin/true
AT_PLATFORM:     v6l

Raspberry Pi 2

AT_SYSINFO_EHDR: 0x7efa7000
AT_HWCAP:        half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x10034
AT_PHENT:        32
AT_PHNUM:        9
AT_BASE:         0x76f99000
AT_FLAGS:        0x0
AT_ENTRY:        0x10dc0
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ee5dbb8
AT_HWCAP2:
AT_EXECFN:       /bin/true
AT_PLATFORM:     v7l

Raspberry Pi 3

AT_SYSINFO_EHDR: 0x7efc4000
AT_HWCAP:        half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x10034
AT_PHENT:        32
AT_PHNUM:        9
AT_BASE:         0x76f93000
AT_FLAGS:        0x0
AT_ENTRY:        0x10dc0
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ef97b48
AT_HWCAP2:       crc32
AT_EXECFN:       /bin/true
AT_PLATFORM:     v7l

Raspberry Pi 4

AT_SYSINFO_EHDR: 0xbedb8000
AT_HWCAP:        half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x10034
AT_PHENT:        32
AT_PHNUM:        9
AT_BASE:         0xb6fc6000
AT_FLAGS:        0x0
AT_ENTRY:        0x10dc0
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0xbe802bb8
AT_HWCAP2:       crc32
AT_EXECFN:       /bin/true
AT_PLATFORM:     v7l
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment