From 877435950ca2dfb7213dc502e7d9e8374e55e16b Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Thu, 19 Mar 2015 04:06:20 -0400 Subject: test, arm: Add scripts to test checkpoints Add a set of scripts to automatically test checkpointing in the regression framework. The checkpointing tests are similar to the switcheroo tests, but instead of switching between CPUs, they checkpoint the system and restore from the checkpoint again. This is done at regular intervals, typically while booting Linux. The implementation is fairly straight forward, with the exception that we have to work around gem5's inability to restore from a checkpoint after a system has been instantiated. We work around this by forking off child processes that does the actual simulation and never instantiate a system in the parent process unless a maximum checkpoint count is reached (in which case we just simulate the system to completion in the parent). Checkpoint testing is currently only enabled 32- and 64-bit ARM systems using atomic CPUs. Note: An unfortunate side-effect of forking is that every new process will overwrite the stats and terminal output from the previous process. This means that the output directory only contains data from the last checkpoint. --- tests/SConscript | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/SConscript') diff --git a/tests/SConscript b/tests/SConscript index 32691c639..2f3bf0d73 100644 --- a/tests/SConscript +++ b/tests/SConscript @@ -322,6 +322,7 @@ if env['TARGET_ISA'] == 'arm': 'o3-timing-checker', 'realview-simple-atomic', 'realview-simple-atomic-dual', + 'realview-simple-atomic-checkpoint', 'realview-simple-timing', 'realview-simple-timing-dual', 'realview-o3', @@ -334,6 +335,7 @@ if env['TARGET_ISA'] == 'arm': 'realview-switcheroo-o3', 'realview-switcheroo-full', 'realview64-simple-atomic', + 'realview64-simple-atomic-checkpoint', 'realview64-simple-atomic-dual', 'realview64-simple-timing', 'realview64-simple-timing-dual', -- cgit v1.2.3