acrn-hypervisor/hypervisor
Zhao Yakui 3cbaf02830 HV: Use parameter directly to pass bdf for hcall_assign/deassign_ptdev
The the bdf(bus/dev/func) is used to determine which pass-through device should
be assigned/released. Now the hypervisor parses the corresponding bdf from the guest
physical address when hcall_assign_ptdev/hcall_deassign_ptdev is called.
As it is only uint16_t, it is unnecessary to use the GPA to pass the bdf parameter.
Instead the parameter can be used as the bdf directly.

In order to keep the compatibility, it still can get the bdf by using
copy_from_gpa when SOS passes the parameter based on the buffer. But this will
be depreciated.
This is based on the assumption that the GPA in SOS is greater than 0x10000
when one buffer is allocated to pass the corresponding hypercall parameter.
After the SOS uses the bdf to pass the hypercall paremeter, we can remove the code
that gets the bdf by using copy_from_gpa.

V1->V2: Add some comments for hcall_assign_ptdev/hcall_deassign_ptdev.

Tracked-on: #1751
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-11-08 14:36:46 +08:00
..
arch/x86 hv: hypercall: remove hcall_set_vm_memory_region 2018-11-08 13:04:27 +08:00
boot hv: fix 'Expression is not Boolean' 2018-11-08 13:04:11 +08:00
bsp HV:treewide:rename vm data structure 2018-11-05 15:35:49 +08:00
common HV: Use parameter directly to pass bdf for hcall_assign/deassign_ptdev 2018-11-08 14:36:46 +08:00
debug hv: fix 'Expression is not Boolean' 2018-11-08 13:04:11 +08:00
dm hv: fix 'Expression is not Boolean' 2018-11-08 13:04:11 +08:00
include HV: Use parameter directly to pass bdf for hcall_assign/deassign_ptdev 2018-11-08 14:36:46 +08:00
lib fix "Casting operation to a pointer" 2018-11-06 13:37:33 +08:00
partition hv: LAPIC pass-thru support for partition mode of ACRN 2018-11-02 13:48:43 +08:00
scripts kconfig: use defconfig instead of default values in silentoldconfig 2018-10-30 10:49:12 +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: mmu: add static paging table allocation for hypervisor 2018-11-02 13:15:48 +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!