diff options
Diffstat (limited to 'utils/schedcover.py')
| -rw-r--r-- | utils/schedcover.py | 23 | 
1 files changed, 16 insertions, 7 deletions
diff --git a/utils/schedcover.py b/utils/schedcover.py index ad9b78b207f1..8c0aeeb32b53 100644 --- a/utils/schedcover.py +++ b/utils/schedcover.py @@ -31,20 +31,26 @@ def filter_model(m):  def display():      global table, models +    # remove default and itinerary so we can control their sort order to make +    # them first +    models.discard("default") +    models.discard("itinerary") +      ordered_table  = sorted(table.items(), key=operator.itemgetter(0)) -    ordered_models = filter(filter_model, sorted(models)) +    ordered_models = ["itinerary", "default"] +    ordered_models.extend(sorted(models)) +    ordered_models = filter(filter_model, ordered_models)      # print header      sys.stdout.write("instruction")      for model in ordered_models: -        if not model: model = "default"          sys.stdout.write(", {}".format(model))      sys.stdout.write(os.linesep)      for (instr, mapping) in ordered_table:          sys.stdout.write(instr)          for model in ordered_models: -            if model in mapping: +            if model in mapping and mapping[model] is not None:                  sys.stdout.write(", {}".format(mapping[model]))              else:                  sys.stdout.write(", ") @@ -57,18 +63,21 @@ def machineModelCover(path):      re_sched_no_default = re.compile("No machine model for ([^ ]*)\n");      re_sched_spec = re.compile("InstRW on ([^ ]*) for ([^ ]*) (.*)\n");      re_sched_no_spec = re.compile("No machine model for ([^ ]*) on processor (.*)\n"); +    re_sched_itin = re.compile("Itinerary for ([^ ]*): ([^ ]*)\n")      # scan the file      with open(path, 'r') as f:          for line in f.readlines():              match = re_sched_default.match(line) -            if match: add(match.group(1), None, match.group(2)) +            if match: add(match.group(1), "default", match.group(2))              match = re_sched_no_default.match(line) -            if match: add(match.group(1), None) +            if match: add(match.group(1), "default")              match = re_sched_spec.match(line)              if match: add(match.group(2), match.group(1), match.group(3)) -            match = re_sched_no_default.match(line) -            if match: add(match.group(1), None) +            match = re_sched_no_spec.match(line) +            if match: add(match.group(1), match.group(2)) +            match = re_sched_itin.match(line) +            if match: add(match.group(1), "itinerary", match.group(2))      display()  | 
