----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2158/ -----------------------------------------------------------
(Updated Feb. 27, 2014, 12:48 a.m.) Review request for Default. Changes ------- Marked takeOverFrom() as virtual in pipeline_stage.hh. Removed type check in InOrderCPU's takeOverFrom(). Repository: gem5 Description ------- cpu: Enable fast-forwarding for MIPS InOrderCPU and O3CPU A copyRegs() function is added to MIPS utilities to copy architectural state from the old CPU to the new CPU during fast-forwarding. This addition alone enables fast-forwarding for the o3 cpu model running MIPS. The patch also adds takeOverFrom() and drainResume() functions to the InOrderCPU to enable it to take over from another CPU. This change enables fast-forwarding for the inorder cpu model running MIPS, but not for Alpha. Diffs (updated) ----- src/arch/mips/utility.cc d222a22f78e9 src/cpu/inorder/InOrderCPU.py d222a22f78e9 src/cpu/inorder/cpu.hh d222a22f78e9 src/cpu/inorder/cpu.cc d222a22f78e9 src/cpu/inorder/first_stage.hh d222a22f78e9 src/cpu/inorder/first_stage.cc d222a22f78e9 src/cpu/inorder/pipeline_stage.hh d222a22f78e9 Diff: http://reviews.gem5.org/r/2158/diff/ Testing ------- All quick and long regressions still pass for all ISAs. Using HelloWorld, I scaled the number of instructions I fast-forward and see the number of committed instructions scale accordingly. The host_seconds stat also scales accordingly, getting smaller as I fast-forward for more instructions. This works for both the MIPS InOrderCPU and O3CPU. Thanks, Christopher Torng _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
