xref: /dpdk/config/arm/armv8_machine.py (revision 3f6f83626cf4967a99382a6518a614a1bf3d2c20)
1*3f6f8362SLouise Kilheeney#!/usr/bin/env python3
2200b88cbSPavan Nikhilesh# SPDX-License-Identifier: BSD-3-Clause
3200b88cbSPavan Nikhilesh# Copyright(c) 2017 Cavium, Inc
4200b88cbSPavan Nikhilesh
5200b88cbSPavan Nikhileshident = []
6200b88cbSPavan Nikhileshfname = '/sys/devices/system/cpu/cpu0/regs/identification/midr_el1'
7200b88cbSPavan Nikhileshwith open(fname) as f:
8200b88cbSPavan Nikhilesh    content = f.read()
9200b88cbSPavan Nikhilesh
10200b88cbSPavan Nikhileshmidr_el1 = (int(content.rstrip('\n'), 16))
11200b88cbSPavan Nikhilesh
12200b88cbSPavan Nikhileshident.append(hex((midr_el1 >> 24) & 0xFF))  # Implementer
13200b88cbSPavan Nikhileshident.append(hex((midr_el1 >> 20) & 0xF))   # Variant
14200b88cbSPavan Nikhileshident.append(hex((midr_el1 >> 16) & 0XF))   # Architecture
15200b88cbSPavan Nikhileshident.append(hex((midr_el1 >> 4) & 0xFFF))  # Primary Part number
16200b88cbSPavan Nikhileshident.append(hex(midr_el1 & 0xF))           # Revision
17200b88cbSPavan Nikhilesh
18200b88cbSPavan Nikhileshprint(' '.join(ident))
19