Simulation.py (3410:ef75e2c78b2d) Simulation.py (3445:5c5f90f5506c)
1# Copyright (c) 2006 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 102 unchanged lines hidden (view full) ---

111 ## (including switchCpus), you must resume the system manually.
112 ## You DON'T need to resume after just switching CPUs if you haven't
113 ## changed anything on the system level.
114
115 m5.changeToTiming(testsys)
116 m5.switchCpus(switch_cpu_list)
117 m5.resume(testsys)
118
1# Copyright (c) 2006 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 102 unchanged lines hidden (view full) ---

111 ## (including switchCpus), you must resume the system manually.
112 ## You DON'T need to resume after just switching CPUs if you haven't
113 ## changed anything on the system level.
114
115 m5.changeToTiming(testsys)
116 m5.switchCpus(switch_cpu_list)
117 m5.resume(testsys)
118
119 exit_event = m5.simulate(options.standard_switch)
119 exit_event = m5.simulate(options.warmup)
120 m5.switchCpus(switch_cpu_list1)
121
122 num_checkpoints = 0
123 exit_cause = ''
124
125 ## Checkpoints being taken via the command line at <when> and at subsequent
126 ## periods of <period>. Checkpoint instructions received from the benchmark running
127 ## are ignored and skipped in favor of command line checkpoint instructions.
128 if options.take_checkpoints:
129 [when, period] = options.take_checkpoints.split(",", 1)
130 when = int(when)
131 period = int(period)
132
120 m5.switchCpus(switch_cpu_list1)
121
122 num_checkpoints = 0
123 exit_cause = ''
124
125 ## Checkpoints being taken via the command line at <when> and at subsequent
126 ## periods of <period>. Checkpoint instructions received from the benchmark running
127 ## are ignored and skipped in favor of command line checkpoint instructions.
128 if options.take_checkpoints:
129 [when, period] = options.take_checkpoints.split(",", 1)
130 when = int(when)
131 period = int(period)
132
133 print "when is ", when, " period is ", period
134 exit_event = m5.simulate(when)
135 while exit_event.getCause() == "checkpoint":
136 exit_event = m5.simulate(when - m5.curTick())
137
138 if exit_event.getCause() == "simulate() limit reached":
139 m5.checkpoint(root, cptdir + "cpt.%d")
140 num_checkpoints += 1
141

--- 37 unchanged lines hidden ---
133 exit_event = m5.simulate(when)
134 while exit_event.getCause() == "checkpoint":
135 exit_event = m5.simulate(when - m5.curTick())
136
137 if exit_event.getCause() == "simulate() limit reached":
138 m5.checkpoint(root, cptdir + "cpt.%d")
139 num_checkpoints += 1
140

--- 37 unchanged lines hidden ---