mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-12 10:24:21 +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>
36 lines
785 B
C
36 lines
785 B
C
/*
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef FIRMWARE_H
|
|
|
|
#define FIRMWARE_H
|
|
|
|
#define NUM_FIRMWARE_SUPPORTING 4U
|
|
|
|
struct acrn_vm;
|
|
struct firmware_operations {
|
|
void (*init)(void);
|
|
uint64_t (*get_ap_trampoline)(void);
|
|
void *(*get_rsdp)(void);
|
|
void (*init_irq)(void);
|
|
int32_t (*init_vm_boot_info)(struct acrn_vm *vm);
|
|
};
|
|
|
|
struct firmware_candidates {
|
|
const char name[20];
|
|
size_t name_sz;
|
|
struct firmware_operations *(*ops)(void);
|
|
};
|
|
|
|
void init_firmware_operations(void);
|
|
void init_firmware(void);
|
|
uint64_t firmware_get_ap_trampoline(void);
|
|
void *firmware_get_rsdp(void);
|
|
void firmware_init_irq(void);
|
|
int32_t firmware_init_vm_boot_info(struct acrn_vm *vm);
|
|
|
|
#endif /* end of include guard: FIRMWARE_H */
|