1*3998e2a0SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause 2*3998e2a0SBruce Richardson * Copyright(c) 2010-2014 Intel Corporation 3f5e5c334SAlan Carew */ 4f5e5c334SAlan Carew 5f5e5c334SAlan Carew /* 6f5e5c334SAlan Carew #include <stdio.h> 7f5e5c334SAlan Carew #include <string.h> 8f5e5c334SAlan Carew #include <stdint.h> 9f5e5c334SAlan Carew #include <sys/epoll.h> 10f5e5c334SAlan Carew #include <fcntl.h> 11f5e5c334SAlan Carew #include <unistd.h> 12f5e5c334SAlan Carew #include <stdlib.h> 13f5e5c334SAlan Carew #include <errno.h> 14f5e5c334SAlan Carew */ 15f5e5c334SAlan Carew #include <signal.h> 16f5e5c334SAlan Carew 17f5e5c334SAlan Carew #include <rte_lcore.h> 18f5e5c334SAlan Carew #include <rte_power.h> 19f5e5c334SAlan Carew #include <rte_debug.h> 20f5e5c334SAlan Carew 21f5e5c334SAlan Carew #include "vm_power_cli_guest.h" 22f5e5c334SAlan Carew 23f5e5c334SAlan Carew static void 24f5e5c334SAlan Carew sig_handler(int signo) 25f5e5c334SAlan Carew { 26f5e5c334SAlan Carew printf("Received signal %d, exiting...\n", signo); 27f5e5c334SAlan Carew unsigned lcore_id; 28f5e5c334SAlan Carew 29f5e5c334SAlan Carew RTE_LCORE_FOREACH(lcore_id) { 30f5e5c334SAlan Carew rte_power_exit(lcore_id); 31f5e5c334SAlan Carew } 32f5e5c334SAlan Carew 33f5e5c334SAlan Carew } 34f5e5c334SAlan Carew 35f5e5c334SAlan Carew int 3698a16481SDavid Marchand main(int argc, char **argv) 37f5e5c334SAlan Carew { 38f5e5c334SAlan Carew int ret; 39f5e5c334SAlan Carew unsigned lcore_id; 40f5e5c334SAlan Carew 41f5e5c334SAlan Carew ret = rte_eal_init(argc, argv); 42f5e5c334SAlan Carew if (ret < 0) 43f5e5c334SAlan Carew rte_panic("Cannot init EAL\n"); 44f5e5c334SAlan Carew 45f5e5c334SAlan Carew signal(SIGINT, sig_handler); 46f5e5c334SAlan Carew signal(SIGTERM, sig_handler); 47f5e5c334SAlan Carew 48f5e5c334SAlan Carew rte_power_set_env(PM_ENV_KVM_VM); 49f5e5c334SAlan Carew RTE_LCORE_FOREACH(lcore_id) { 50f5e5c334SAlan Carew rte_power_init(lcore_id); 51f5e5c334SAlan Carew } 52f5e5c334SAlan Carew run_cli(NULL); 53f5e5c334SAlan Carew 54f5e5c334SAlan Carew return 0; 55f5e5c334SAlan Carew } 56