From 66ddac660850e7f1422d504f121b1cf38fdb335a Mon Sep 17 00:00:00 2001 From: Yadong Qi Date: Fri, 3 Dec 2021 13:57:11 +0800 Subject: [PATCH 1/2] vmm:vtd: postpone activation of VT-d By configure this, evmm will not activate VT-d on first boot, it will wait for bootloader call VMCALL to activate the VT-d engine. Signed-off-by: Yadong Qi --- product/celadon_64.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/product/celadon_64.cfg b/product/celadon_64.cfg index bff4ed93..ed494851 100644 --- a/product/celadon_64.cfg +++ b/product/celadon_64.cfg @@ -18,6 +18,7 @@ EVMM_CMPL_FLAGS += \ -DPACK_LK \ -DMODULE_ACPI \ -DMODULE_VTD \ + -DACTIVATE_VTD_BY_VMCALL \ -DDMAR_MAX_ENGINE=16 \ -DSKIP_DMAR_GPU From 3c7f3ba10f352645ce335c6511792c711f6b785a Mon Sep 17 00:00:00 2001 From: Yadong Qi Date: Tue, 7 Dec 2021 13:31:48 +0800 Subject: [PATCH 2/2] vmm:suspend: fix pointer cast issue fix pointer cast issue Signed-off-by: Yadong Qi --- vmm/modules/suspend/acpi_pm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vmm/modules/suspend/acpi_pm.c b/vmm/modules/suspend/acpi_pm.c index af785862..b84e00e8 100644 --- a/vmm/modules/suspend/acpi_pm.c +++ b/vmm/modules/suspend/acpi_pm.c @@ -262,8 +262,8 @@ static void acpi_parse_fadt_waking_vector(uint8_t *fadt) VMM_ASSERT_EX(facs, "[ACPI] FACS is not detected. S3 is not supported by the platform\n"); - acpi_fadt_data.p_waking_vector = (uint32_t *)(void *)(uint64_t)(uint32_t)(facs + FACS_FW_WAKING_VECTOR_OFFSET); - acpi_fadt_data.p_x_waking_vector = (uint64_t *)(void *)(uint64_t)(facs + FACS_X_FW_WAKING_VECTOR_OFFSET); + acpi_fadt_data.p_waking_vector = (uint32_t *)(void *)(facs + FACS_FW_WAKING_VECTOR_OFFSET); + acpi_fadt_data.p_x_waking_vector = (uint64_t *)(void *)(facs + FACS_X_FW_WAKING_VECTOR_OFFSET); } acpi_generic_address_t *get_pm1x_reg(uint32_t id)