mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-15 19:59:31 +00:00
Now reuse allow_trigger_s5 in life_mngr_config to allow WAAG to trigger system reboot. Tracked-On: #7215 Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com> Signed-off-by: Fei Li <fei1.li@intel.com>
136 lines
4.6 KiB
C
136 lines
4.6 KiB
C
/*
|
|
* Copyright (C)2021 Intel Corporation
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
#ifndef _CMD_HANDLER_H_
|
|
#define _CMD_HANDLER_H_
|
|
|
|
#define SEND_RETRY_TIMES 3
|
|
|
|
extern struct uart_channel *channel;
|
|
extern struct socket_dev *sock_server;
|
|
/**
|
|
* @brief Get the system shutdown flag
|
|
*/
|
|
bool get_system_shutdown_flag(void);
|
|
/**
|
|
* @brief Get the reboot flag
|
|
*/
|
|
bool get_vm_reboot_flag(void);
|
|
/**
|
|
* @brief The handler of request system shutdown command on socket in service VM
|
|
*/
|
|
int socket_req_shutdown_service_vm_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of request user shutdown command on socket in service VM
|
|
*/
|
|
int socket_req_user_vm_shutdown_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of request user reboot command on socket in service VM
|
|
*/
|
|
int socket_req_user_vm_reboot_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of request system shutdown command on socket in user VM
|
|
*/
|
|
int socket_req_system_shutdown_user_vm_handler(void *arg, int fd);
|
|
|
|
/**
|
|
* @brief The handler of sync command of lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel device instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int sync_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of system shutdown request command of lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel device instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int req_shutdown_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of system reboot request command of lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel device instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int req_reboot_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of acked poweroff command of lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int ack_poweroff_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of poweroff timeout command of lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int ack_timeout_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of ACK user vm shutdown command of
|
|
* lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int ack_user_vm_shutdown_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of ACK user vm reboot command of
|
|
* lifecycle manager in service VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int ack_user_vm_reboot_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of acked sync command of lifecycle manager in user VM
|
|
*
|
|
* @param arg uart channel device instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int acked_sync_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of acked system shutdown request command of lifecycle manager in user VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int acked_req_shutdown_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of poweroff command of lifecycle manager in user VM
|
|
*
|
|
* @param arg uart channel device instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int poweroff_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of user VM shutdown command of lifecycle manager in user VM
|
|
*/
|
|
int user_vm_shutdown_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of user VM reboot command of lifecycle manager in user VM
|
|
*/
|
|
int user_vm_reboot_cmd_handler(void *arg, int fd);
|
|
/**
|
|
* @brief The handler of ACK timeout command of lifecycle manager in user VM
|
|
*
|
|
* @param arg uart channel instance
|
|
* @param fd the file directory of the uart which receives message
|
|
* @return indicate this command is handled successful or not
|
|
*/
|
|
int ack_timeout_default_handler(void *arg, int fd);
|
|
#endif
|