acrn-hypervisor/hypervisor
Zide Chen ca728fb3c5 hv: add code to fixup ELF relocation sections
For UEFI boot, currently EFI application loads hypervisor to the
hard coded COMNFIG_RAM_START, which may cause it fail to boot if
this address is not available in the target.

This patch series resolve this issue by allocating memory for hypervisor
at run time, and do relocation fixup if the allocated address is
different from the base address that the hypervisor is built.

The summary of the first patch [1/6] in this series:

In x86_64 ELF, .rela sections hold information of symbols which must be
relocated before being referenced.

This patch adds code to fixup .rela sections with the relocated offset,
also, it provides utilities to assist address fixup

Signed-off-by: Zheng Gen <gen.zheng@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com>
2018-07-11 10:25:16 +08:00
..
arch/x86 HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
boot hv: add code to fixup ELF relocation sections 2018-07-11 10:25:16 +08:00
bsp HV:CPU: Add 'U/UL' for unsigned const value 2018-07-09 10:27:21 +08:00
common HV: io: spell out explicit narrowing of integers 2018-07-10 13:10:10 +08:00
debug HV: Do not return expression contains subexpression 2018-07-10 15:55:33 +08:00
include HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
lib HV: code format for memory.c 2018-07-10 15:54:45 +08:00
scripts/kconfig HV: make: rename minimalconfig to savedefconfig 2018-06-15 15:50:09 +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: add code to fixup ELF relocation sections 2018-07-11 10:25:16 +08:00
README.rst initial import 2018-05-11 14:44:28 +08:00

Embedded-Hypervisor
###################

This open source embedded hypervisor defines a software architecture for
running multiple software subsystems managed securely on a consolidated
system (by means of a virtual machine manager), and defines a reference
framework Device Model implementation for devices emulation

This embedded hypervisor is type-1 reference hypervisor, running
directly on the system hardware. It can be used for building software
defined cockpit (SDC) or In-Vehicle Experience (IVE) solutions running
on Intel Architecture Apollo Lake platforms. As a reference
implementation, it provides the basis for embedded hypervisor vendors to
build solutions with an open source reference I/O mediation solution,
and provides auto makers a reference software stack for SDC usage.

This embedded hypervisor is able to support both Linux* and Android* as
a Guest OS, managed by the hypervisor, where applications can run.

This embedded hypervisor is a partitioning hypervisor reference stack,
also suitable for non-automotive IoT & embedded device solutions. It
will be addressing the gap that currently exists between datacenter
hypervisors, hard partitioning hypervisors, and select industrial
applications.  Extending the scope of this open source embedded
hypervisor relies on the involvement of community developers like you!