aboutsummaryrefslogtreecommitdiffstats
path: root/config/arm/armv8_machine.py
diff options
context:
space:
mode:
Diffstat (limited to 'config/arm/armv8_machine.py')
-rwxr-xr-xconfig/arm/armv8_machine.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/config/arm/armv8_machine.py b/config/arm/armv8_machine.py
new file mode 100755
index 00000000..404866d2
--- /dev/null
+++ b/config/arm/armv8_machine.py
@@ -0,0 +1,18 @@
+#!/usr/bin/python
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2017 Cavium, Inc
+
+ident = []
+fname = '/sys/devices/system/cpu/cpu0/regs/identification/midr_el1'
+with open(fname) as f:
+ content = f.read()
+
+midr_el1 = (int(content.rstrip('\n'), 16))
+
+ident.append(hex((midr_el1 >> 24) & 0xFF)) # Implementer
+ident.append(hex((midr_el1 >> 20) & 0xF)) # Variant
+ident.append(hex((midr_el1 >> 16) & 0XF)) # Architecture
+ident.append(hex((midr_el1 >> 4) & 0xFFF)) # Primary Part number
+ident.append(hex(midr_el1 & 0xF)) # Revision
+
+print(' '.join(ident))