12990abeaSNicholas Piggin // SPDX-License-Identifier: GPL-2.0-only 22990abeaSNicholas Piggin /* 32990abeaSNicholas Piggin * Machine independent migration tests 42990abeaSNicholas Piggin * 52990abeaSNicholas Piggin * This is just a very simple test that is intended to stress the migration 62990abeaSNicholas Piggin * support in the test harness. This could be expanded to test more guest 72990abeaSNicholas Piggin * library code, but architecture-specific tests should be used to test 82990abeaSNicholas Piggin * migration of tricky machine state. 92990abeaSNicholas Piggin */ 102990abeaSNicholas Piggin #include <libcflat.h> 112990abeaSNicholas Piggin #include <migrate.h> 12956004acSNicholas Piggin #include <asm/time.h> 132990abeaSNicholas Piggin 14*fe151b46SNicholas Piggin #define NR_MIGRATIONS 5 152990abeaSNicholas Piggin main(int argc,char ** argv)162990abeaSNicholas Pigginint main(int argc, char **argv) 172990abeaSNicholas Piggin { 18956004acSNicholas Piggin report_prefix_push("migration harness"); 192990abeaSNicholas Piggin 20fa8914bcSNicholas Piggin if (argc > 1 && !strcmp(argv[1], "skip")) { 21fa8914bcSNicholas Piggin migrate_skip(); 22fa8914bcSNicholas Piggin report(true, "migration skipping"); 23fa8914bcSNicholas Piggin } else { 24fa8914bcSNicholas Piggin int i; 25fa8914bcSNicholas Piggin 262990abeaSNicholas Piggin for (i = 0; i < NR_MIGRATIONS; i++) 272990abeaSNicholas Piggin migrate_quiet(); 28956004acSNicholas Piggin report(true, "cooperative migration"); 29956004acSNicholas Piggin 30956004acSNicholas Piggin migrate_begin_continuous(); 31956004acSNicholas Piggin mdelay(1000); 32*fe151b46SNicholas Piggin migrate_end_continuous(); 33*fe151b46SNicholas Piggin mdelay(500); 34956004acSNicholas Piggin migrate_begin_continuous(); 35*fe151b46SNicholas Piggin mdelay(1000); 36956004acSNicholas Piggin migrate_end_continuous(); 37956004acSNicholas Piggin report(true, "continuous migration"); 38fa8914bcSNicholas Piggin } 392990abeaSNicholas Piggin 402990abeaSNicholas Piggin report_prefix_pop(); 412990abeaSNicholas Piggin 422990abeaSNicholas Piggin return report_summary(); 432990abeaSNicholas Piggin } 44