mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-08 08:26:55 +00:00
ACRN needs to trap the pm1a/pm1b written/read from VM0. So we could know when should we put the system to S3. We will have two path back to VM0: - S3 enter/exit sucess. Will reset VM0 and jump to VM0 wakeup vec with real mode - S3 enter/exit failed. Will return to the next instruction of pm1a/pm1b register writing. VM0 will read the pm1a/pm1b evt register to check whether it's waked up or not. Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
17 lines
412 B
C
17 lines
412 B
C
/*
|
|
* Copyright (C) 2018 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef GUEST_PM_H
|
|
#define GUEST_PM_H
|
|
|
|
void vm_setup_cpu_state(struct vm *vm);
|
|
int vm_load_pm_s_state(struct vm *vm);
|
|
int validate_pstate(struct vm *vm, uint64_t perf_ctl);
|
|
struct cpu_cx_data* get_target_cx(struct vm *vm, uint8_t cn);
|
|
void register_pm1ab_handler(struct vm *vm);
|
|
|
|
#endif /* PM_H */
|