mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-29 04:25:57 +00:00
The current movs emulation has issues: 1. it use gva to get/put data. 2. it only support src and dst operand are memory which does not apply to our case (one of them should be mmio and triggers EPT voilation). This patch fix the issue by: 1. convert the address from gva to hva before access it. 2. handle mmio emulation. Also fix the issue introduced by previous instruction reshuffle patchset: 1. the desc validation should be only applied to none-64bit mode. 2. gva2gpa should be given correct guest virtual address. Specailly for movs, we cache the dst gpa if the check during movs decoding success. And use it directly during movs emulation. Tracked-On: #1207 Signed-off-by: Yin Fengwei <fengwei.yin@intel.com> Tested-by: Qi Yadong <yadog.qi@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
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!