mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-02 05:34:04 +00:00
In the current hypervisor hypercall, first all vcpu is allocated to SOS, vcpu's vm field is initialized to vm0. When the vcpu is offlined, vcpu will be paused and vcpu's vm field is set as NULL by DM. When UOS is created, vcpu's vm field is set as UOS's vm. So when vmcall_vmexit_handler is invoked, vcpu's vm filed is always non-NULL. error checking for vm pointer is done in the function "vmcall_vmexit_handler", vmcall_vmexit_handler will guarantee that vm is vm0. So all hypercall functions (these functions is just for handler hypercall, except vmcall_vmexit_handler) don't need to check whether invoking vm is NULL and don't need to check whether invoking vm is vm0 or not. Remove related invoking vm error checking for hypercall handling. V1 --> V2: Add pre-condition for hypercall in the head file. V2 --> V3: Add pre-condition for copy_from_gpa and copy_to_gpa. V3 --> V4: Add pre-condition both in the head file and source file. Tracked-On:#1258 Signed-off-by: Xiangyang Wu <xiangyang.wu@linux.intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com> |
||
---|---|---|
.. | ||
arch/x86 | ||
boot | ||
bsp | ||
common | ||
debug | ||
dm | ||
include | ||
lib | ||
partition | ||
scripts/kconfig | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README.rst |
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!