mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-03 14:06:54 +00:00
Previously ACPI PM1A register info was hardcoded to 0 in HV for generic boards, but SOS still can know the real PM1A info so the system would hang if user trigger S3 in SOS. Enabling PM1A register info fixup will let HV be able to intercept the operation on PM1A and then make basic function of S3 work for all boards; Tracked-On: #2291 Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
27 lines
778 B
C
27 lines
778 B
C
/*
|
|
* Copyright (C) <2018> Intel Corporation
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef HOST_PM_H
|
|
#define HOST_PM_H
|
|
|
|
#define BIT_SLP_TYPx 10U
|
|
#define BIT_SLP_EN 13U
|
|
#define BIT_WAK_STS 15U
|
|
|
|
struct cpu_state_info {
|
|
uint8_t px_cnt; /* count of all Px states */
|
|
const struct cpu_px_data *px_data;
|
|
uint8_t cx_cnt; /* count of all Cx entries */
|
|
const struct cpu_cx_data *cx_data;
|
|
};
|
|
|
|
struct pm_s_state_data *get_host_sstate_data(void);
|
|
void host_enter_s3(struct pm_s_state_data *sstate_data, uint32_t pm1a_cnt_val, uint32_t pm1b_cnt_val);
|
|
extern void asm_enter_s3(struct pm_s_state_data *sstate_data, uint32_t pm1a_cnt_val, uint32_t pm1b_cnt_val);
|
|
extern void restore_s3_context(void);
|
|
struct cpu_state_info *get_cpu_pm_state_info(void);
|
|
|
|
#endif /* HOST_PM_H */
|