Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) #!/usr/bin/env python
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) # add symbolic names to read_msr / write_msr in trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) # decode_msr msr-index.h < trace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) import sys
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) import re
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) msrs = dict()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) with open(sys.argv[1] if len(sys.argv) > 1 else "msr-index.h", "r") as f:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 	for j in f:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 		m = re.match(r'#define (MSR_\w+)\s+(0x[0-9a-fA-F]+)', j)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 		if m:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 			msrs[int(m.group(2), 16)] = m.group(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) extra_ranges = (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 	( "MSR_LASTBRANCH_%d_FROM_IP", 0x680, 0x69F ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	( "MSR_LASTBRANCH_%d_TO_IP", 0x6C0, 0x6DF ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	( "LBR_INFO_%d", 0xdc0, 0xddf ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) for j in sys.stdin:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	m = re.search(r'(read|write)_msr:\s+([0-9a-f]+)', j)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	if m:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 		r = None
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 		num = int(m.group(2), 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 		if num in msrs:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 			r = msrs[num]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 		else:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 			for er in extra_ranges:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 				if er[1] <= num <= er[2]:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 					r = er[0] % (num - er[1],)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 					break
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 		if r:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 			j = j.replace(" " + m.group(2), " " + r + "(" + m.group(2) + ")")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	print j,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)