hv: init: unify init logic for vm0 bsp

In current code, VM0 BSP start mode is hardcoded, in this patch VM0 BSP
start mode is decided by the boot context prepared by bootloader/BIOS.

In current code, VM0 BSP VMCS is override only on UEFI platform.
In this patch, VM0 BSP VMCS is override on both SBL & UEFI platforms.

Also restructure the code of guest init code.
In this patch, a vcpu run_context is initilaized first according to vcpu mode.
Then write the value to vmcs according to run_context value.

Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Binbin Wu
2018-07-28 23:03:45 +08:00
committed by lijinxia
parent 4acce9338a
commit 33e1149b29
8 changed files with 259 additions and 642 deletions

View File

@@ -29,9 +29,7 @@
#include <hypervisor.h>
#include "acpi.h"
#ifdef CONFIG_EFI_STUB
#include <vm0_boot.h>
#endif
#define ACPI_SIG_RSDP "RSD PTR " /* Root System Description Ptr */
#define ACPI_OEM_ID_SIZE 6

View File

@@ -6,9 +6,7 @@
#include <hypervisor.h>
#include <reloc.h>
#ifdef CONFIG_EFI_STUB
#include <vm0_boot.h>
#endif
struct Elf64_Dyn {
uint64_t d_tag;