mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-21 16:57:20 +00:00
HV: add acpi module support for pre-launched VM
Previously we use a pre-defined structure as vACPI table for pre-launched VM, the structure is initialized by HV code. Now change the method to use a pre-loaded multiboot module instead. The module file will be generated by acrn-config tool and loaded to GPA 0x7ff00000, a hardcoded RSDP table at GPA 0x000f2400 will point to the XSDT table which at GPA 0x7ff00080; Tracked-On: #5266 Signed-off-by: Victor Sun <victor.sun@intel.com> Signed-off-by: Shuang Zheng <shuang.zheng@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
@@ -65,6 +65,7 @@ struct vm_sw_info {
|
||||
struct sw_kernel_info kernel_info;
|
||||
struct sw_module_info bootargs_info;
|
||||
struct sw_module_info ramdisk_info;
|
||||
struct sw_module_info acpi_info;
|
||||
/* HVA to IO shared page */
|
||||
void *io_shared_page;
|
||||
/* If enable IO completion polling mode */
|
||||
|
@@ -140,6 +140,10 @@ struct acrn_vm_os_config {
|
||||
uint64_t kernel_ramdisk_addr;
|
||||
} __aligned(8);
|
||||
|
||||
struct acrn_vm_acpi_config {
|
||||
char acpi_mod_tag[MAX_MOD_TAG_LEN]; /* multiboot module tag for ACPI */
|
||||
} __aligned(8);
|
||||
|
||||
/* the vbdf is assgined by device model */
|
||||
#define UNASSIGNED_VBDF 0xFFFFU
|
||||
|
||||
@@ -180,6 +184,7 @@ struct acrn_vm_config {
|
||||
uint16_t pci_dev_num; /* indicate how many PCI devices in VM */
|
||||
struct acrn_vm_pci_dev_config *pci_devs; /* point to PCI devices BDF list */
|
||||
struct acrn_vm_os_config os_config; /* OS information the VM */
|
||||
struct acrn_vm_acpi_config acpi_config; /* ACPI config for the VM */
|
||||
|
||||
/*
|
||||
* below are variable length members (per build).
|
||||
|
Reference in New Issue
Block a user