acrn-hypervisor/hypervisor
Victor Sun 66e0023029 HV: sanitize vm config
Add a API to sanitize vm_configs[] array, in this API, we will do sanity
check for VM configurations and refill some fields in vm_configs[]. If
sanity check is failed, the HV would reject to boot.

About pcpu_bitmap of SOS_VM:

We should not hard code pcpu_bitmap for SOS_VM, this is not convenient for
unconfigured boards. The pcpu_bitmap follows a very simple rule:

All physical CPUs except ocuppied by Pre-launched VMs are all belong to
SOS_VM. In this way, the pcpu_bitmap of a SOS_VM is decided by pcpu_bitmap
status in PRE_LAUNCHED_VMs.

To get the correct pcpu_bitmap of SOS_VM, We need to setup another rule, that
the vm_configs[] array should follow the order of PRE_LAUNCHED_VM - SOS_VM
strictly.

With this patch enabled, the pcpu_bitmap field of sos vm config is not needed
to configure;

Tracked-On: #2291

Signed-off-by: Victor Sun <victor.sun@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-01-25 21:30:49 +08:00
..
arch/x86 HV: sanitize vm config 2019-01-25 21:30:49 +08:00
boot HV: replace bootargs config with acrn_vm_os_config 2019-01-21 18:03:31 +08:00
bsp HV: save efi_ctx into HV to use after init_paging() 2019-01-24 11:59:21 +08:00
common replace arch_switch_to with pure asm code instead of inline asm 2019-01-25 11:39:47 +08:00
debug HV: remove vm_config pointer in acrn_vm struct 2019-01-21 18:03:31 +08:00
dm hv: vlapic: remove calcvdest 2019-01-23 13:43:09 +08:00
hw hv: fix MISRA-C violations in dm/vpci 2019-01-11 14:28:45 +08:00
include HV: sanitize vm config 2019-01-25 21:30:49 +08:00
lib hv: fix identifier reuse violations in sha256.c 2019-01-16 10:24:49 +08:00
partition HV: move Kconfig IOREQ_POLLING to acrn vm config 2019-01-25 10:24:18 +08:00
release hv: shell & vuart: Change interrupt pin to uint32_t 2019-01-10 23:52:25 +08:00
scripts Makefile: separate PLATFORM into BOARD+FIRMWARE 2018-12-12 13:23:28 +08:00
Kconfig HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile replace arch_switch_to with pure asm code instead of inline asm 2019-01-25 11:39:47 +08:00
README.rst Documentation: clean-up of isolated README.rst files 2018-11-20 11:09:53 -08:00

ACRN Hypervisor
###############

The open source `Project ACRN`_ defines a device hypervisor reference stack and
an architecture for running multiple software subsystems, managed securely, on
a consolidated system by means of a virtual machine manager. It also defines a
reference framework implementation for virtual device emulation, called the
“ACRN Device Model”.

The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on
the bare-metal hardware, and is suitable for a variety of IoT and embedded
device solutions. The ACRN hypervisor addresses the gap that currently exists
between datacenter hypervisors, and hard partitioning hypervisors. The ACRN
hypervisor architecture partitions the system into different functional
domains, with carefully selected guest OS sharing optimizations for IoT and
embedded devices.

You can find out more about Project ACRN on the `Project ACRN documentation`_
website.

.. _`Project ACRN`: https://projectacrn.org
.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/