mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-05 15:06:58 +00:00
Handle the PIO reset register that is defined in host ACPI: Parse host FADT table to get the host reset register info, and emulate it for Service OS: - return all '1' for guest reads because the read behavior is not defined in ACPI. - ignore guest writes with the reset value to stop it from resetting host; if guest writes other values, passthru it to hardware in case the reset register supports other functionalities. Tracked-On: #2700 Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com> Signed-off-by: Zide Chen <zide.chen@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
23 lines
488 B
C
23 lines
488 B
C
/*
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef VM_RESET_H_
|
|
#define VM_RESET_H_
|
|
|
|
#include <acrn_common.h>
|
|
|
|
struct acpi_reset_reg {
|
|
struct acpi_generic_address reg;
|
|
uint8_t val;
|
|
};
|
|
|
|
void register_reset_port_handler(struct acrn_vm *vm);
|
|
void shutdown_vm_from_idle(uint16_t pcpu_id);
|
|
void triple_fault_shutdown_vm(struct acrn_vm *vm);
|
|
struct acpi_reset_reg *get_host_reset_reg_data(void);
|
|
|
|
#endif /* VM_RESET_H_ */
|