acrn-hypervisor/hypervisor/arch/x86
Binbin Wu 33e1149b29 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>
2018-08-09 16:43:58 +08:00
..
configs HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
debug hv:Rename port/mmio read and write APIs 2018-08-02 14:03:38 +08:00
guest hv: init: unify init logic for vm0 bsp 2018-08-09 16:43:58 +08:00
assign.c hv: treewide: fix 'Switch empty default has no comment' 2018-08-08 16:01:57 +08:00
cpu_primary.S hv: init: save boot context from bootloader/bios 2018-08-09 16:43:58 +08:00
cpu_save_boot_ctx.S hv: init: save boot context from bootloader/bios 2018-08-09 16:43:58 +08:00
cpu_state_tbl.c fix x86 dir integer violations 2018-07-25 15:29:34 +08:00
cpu.c hv: Boot multiple OS for Partitioning mode ACRN 2018-08-09 15:01:57 +08:00
cpuid.c hv: treewide: fix 'Switch empty default has no comment' 2018-08-08 16:01:57 +08:00
ept.c HV: trusty: refine secure_world_control 2018-08-09 15:09:15 +08:00
gdt.c HV:treewide:fix value outside range of underlying type 2018-08-06 16:07:41 +08:00
idt.S HV: Refine 'hv_main()' function usage 2018-08-06 10:34:43 +08:00
io.c HV: instr_emul: Rearrange logic of instr_emul* 2018-08-07 12:09:22 +08:00
ioapic.c hv:Rename port/mmio read and write APIs 2018-08-02 14:03:38 +08:00
irq.c HV: Rename functions, variables starting with "_" 2018-08-03 12:49:01 +08:00
Kconfig HV: Add Partitioning mode option for ACRN 2018-08-02 12:58:09 +08:00
lapic.c hv:Rename port/mmio read and write APIs 2018-08-02 14:03:38 +08:00
mmu.c HV: trusty: refine secure_world_control 2018-08-09 15:09:15 +08:00
mtrr.c hv:cleanup vmid related code 2018-08-06 12:27:53 +08:00
notify.c HV: Fix new MISRAC violations for brackets 2018-07-16 11:02:38 +08:00
pagetable.c hv: ept: add lookup_address to lookup the page table 2018-07-26 12:46:34 +08:00
pm.c pm: use cpu_context for s3 save/restore 2018-08-07 09:55:13 +08:00
retpoline-thunk.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
timer.c HV:treewide:fix value outside range of underlying type 2018-08-06 16:07:41 +08:00
trampoline.S HV:treewide:Replace HOST_GDT_RING0_CODE/DATA_SEL with constant 2018-07-18 12:31:42 +08:00
trusty.c hv: move save_segment/load_segment to a header file 2018-08-09 16:43:58 +08:00
virq.c hv: add more exception injection API 2018-08-09 14:46:13 +08:00
vmexit.c vcpu: add get/set register APIs 2018-08-07 09:55:13 +08:00
vmx_asm.S vcpu: add ext context support for world switch 2018-08-07 09:55:13 +08:00
vmx.c hv: init: unify init logic for vm0 bsp 2018-08-09 16:43:58 +08:00
vtd.c hv: treewide: fix 'Prototype and definition name mismatch' 2018-08-06 16:04:40 +08:00
wakeup.S pm: use cpu_context for s3 save/restore 2018-08-07 09:55:13 +08:00