Files
gem5/util/cpt_upgraders/process-fdmap-rename.py
Bobby R. Bruce 787204c92d python: Apply Black formatter to Python files
The command executed was `black src configs tests util`.

Change-Id: I8dfaa6ab04658fea37618127d6ac19270028d771
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47024
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-08-03 09:10:41 +00:00

36 lines
1.1 KiB
Python

# http://stackoverflow.com/questions/15069127/python-configparser-module-\
# rename-a-section
def rename_section(cp, section_from, section_to):
items = cp.items(section_from)
cp.add_section(section_to)
for item in items:
cp.set(section_to, item[0], item[1])
cp.remove_section(section_from)
# Checkpoint version F renames an internal member of Process class.
def upgrader(cpt):
import re
for sec in cpt.sections():
fdm = "FdMap"
fde = "FDEntry"
if re.match(".*\.%s.*" % fdm, sec):
rename = re.sub(fdm, fde, sec)
split = re.split(fde, rename)
# rename the section and add the 'mode' field
rename_section(cpt, sec, rename)
cpt.set(rename, "mode", "0") # no proper value to set :(
# add in entries 257 to 1023
if split[1] == "0":
for x in range(257, 1024):
seq = (split[0], fde, "%s" % x)
section = "".join(seq)
cpt.add_section(section)
cpt.set(section, "fd", "-1")
legacy_version = 15