simulate.py (9346:7a9b5e0335a6) | simulate.py (9430:a113f27b68bd) |
---|---|
1# Copyright (c) 2012 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 214 unchanged lines hidden (view full) --- 223def switchCpus(cpuList): 224 print "switching cpus" 225 if not isinstance(cpuList, list): 226 raise RuntimeError, "Must pass a list to this function" 227 for item in cpuList: 228 if not isinstance(item, tuple) or len(item) != 2: 229 raise RuntimeError, "List must have tuples of (oldCPU,newCPU)" 230 | 1# Copyright (c) 2012 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 214 unchanged lines hidden (view full) --- 223def switchCpus(cpuList): 224 print "switching cpus" 225 if not isinstance(cpuList, list): 226 raise RuntimeError, "Must pass a list to this function" 227 for item in cpuList: 228 if not isinstance(item, tuple) or len(item) != 2: 229 raise RuntimeError, "List must have tuples of (oldCPU,newCPU)" 230 |
231 old_cpu_set = set([old_cpu for old_cpu, new_cpu in cpuList]) |
|
231 for old_cpu, new_cpu in cpuList: 232 if not isinstance(old_cpu, objects.BaseCPU): 233 raise TypeError, "%s is not of type BaseCPU" % old_cpu 234 if not isinstance(new_cpu, objects.BaseCPU): 235 raise TypeError, "%s is not of type BaseCPU" % new_cpu | 232 for old_cpu, new_cpu in cpuList: 233 if not isinstance(old_cpu, objects.BaseCPU): 234 raise TypeError, "%s is not of type BaseCPU" % old_cpu 235 if not isinstance(new_cpu, objects.BaseCPU): 236 raise TypeError, "%s is not of type BaseCPU" % new_cpu |
237 if new_cpu in old_cpu_set: 238 raise RuntimeError, \ 239 "New CPU (%s) is in the list of old CPUs." % (old_cpu,) 240 if not new_cpu.switchedOut(): 241 raise RuntimeError, \ 242 "New CPU (%s) is already active." % (new_cpu,) 243 if old_cpu.switchedOut(): 244 raise RuntimeError, \ 245 "Old CPU (%s) is inactive." % (new_cpu,) |
|
236 237 # Now all of the CPUs are ready to be switched out 238 for old_cpu, new_cpu in cpuList: 239 old_cpu.switchOut() 240 241 for old_cpu, new_cpu in cpuList: 242 new_cpu.takeOverFrom(old_cpu) 243 244from internal.core import disableAllListeners | 246 247 # Now all of the CPUs are ready to be switched out 248 for old_cpu, new_cpu in cpuList: 249 old_cpu.switchOut() 250 251 for old_cpu, new_cpu in cpuList: 252 new_cpu.takeOverFrom(old_cpu) 253 254from internal.core import disableAllListeners |