acrn-hypervisor/hypervisor
Victor Sun ee74737fd2 HV: search rsdp from e820 acpi reclaim region
Per ACPI 6.2 spec, chapter 5.2.5.2 "Finding the RSDP on UEFI Enabled Systems":

In Unified Extensible Firmware Interface (UEFI) enabled systems, a pointer to
the RSDP structure exists within the EFI System Table. The OS loader is provided
a pointer to the EFI System Table at invocation. The OS loader must retrieve the
pointer to the RSDP structure from the EFI System Table and convey the pointer
to OSPM, using an OS dependent data structure, as part of the hand off of
control from the OS loader to the OS.

So when ACRN boot from direct mode on a UEFI enabled system, hypervisor might
be failed to get rsdp by seaching rsdp in legacy EBDA or 0xe0000~0xfffff region,
but it still have chance to get rsdp by seaching it in e820 ACPI reclaimable
region with some edk2 based BIOS.

The patch will search rsdp from e820 ACPI reclaim region When failed to get
rsdp from legacy region.

Tracked-On: #4301

Signed-off-by: Victor Sun <victor.sun@intel.com>
Reviewed-by: Fei Li <fei1.li@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2019-12-25 15:06:20 +08:00
..
acpi_parser HV: parse default pci mmcfg base 2019-12-02 16:20:24 +08:00
arch/x86 hv: vpci: restore PCI BARs when doing PCIe FLR 2019-12-20 13:09:42 +08:00
boot HV: search rsdp from e820 acpi reclaim region 2019-12-25 15:06:20 +08:00
bsp/ld hv: dmar_parse: remove dynamic memory allocation 2019-05-10 11:33:37 +08:00
common HV: Remove INIT signal notification related code 2019-12-16 16:54:30 +08:00
debug HV: rename CONFIG_MAX_PCPU_NUM to MAX_PCPU_NUM 2019-12-12 13:49:28 +08:00
dm hv: vpci: restore PCI BARs when doing AF FLR 2019-12-20 13:09:42 +08:00
hw hv: vpci: restore PCI BARs when doing AF FLR 2019-12-20 13:09:42 +08:00
include hv: vpci: restore PCI BARs when doing AF FLR 2019-12-20 13:09:42 +08:00
lib hv:tiny cleanup 2019-09-05 09:58:47 +08:00
pre_build HV: Kconfig: remove MAX_VCPUS_PER_VM in Kconfig 2019-12-12 13:49:28 +08:00
release hv: uart: enable early boot uart 2019-07-26 09:10:06 +08:00
scenarios HV: rename CONFIG_MAX_PCPU_NUM to MAX_PCPU_NUM 2019-12-12 13:49:28 +08:00
scripts Makefile: move .mk file to hv scripts folder 2019-11-13 16:05:30 +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 hv: sched: use hypervisor configuration to choose scheduler 2019-12-11 09:31:39 +08:00
README.rst doc: fix utf-8 punctuation, branding, spelling 2019-03-14 09:13:58 -07: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/