#!/usr/bin/env python # add symbolic names to read_msr / write_msr in trace # decode_msr msr-index.h < trace import sys import re
msrs = dict()
with open(sys.argv[1] if len(sys.argv) > 1 else"msr-index.h", "r") as f: for j in f:
m = re.match(r'#define (MSR_\w+)\s+(0x[0-9a-fA-F]+)', j) if m:
msrs[int(m.group(2), 16)] = m.group(1)
for j in sys.stdin:
m = re.search(r'(read|write)_msr:\s+([0-9a-f]+)', j) if m:
r = None
num = int(m.group(2), 16) if num in msrs:
r = msrs[num] else: for er in extra_ranges: if er[1] <= num <= er[2]:
r = er[0] % (num - er[1],) break if r:
j = j.replace(" " + m.group(2), " " + r + "(" + m.group(2) + ")")
print(j)
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.