mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 11:55:25 +00:00
bootargs_load_addr (GPA) and zero page which locates at one page follows it: - SOS: currently it's fixed at 0x24EFC000. Theoretically, this address may not exist if the system has small memory size. - pre-launched VMs: currently it's at (vm_config->memory.size - 8KB). It doesn't work if the guest has been assigned for more than 4GB memory size, because zero page must be under 4GB. - This patch reserves 8KB for bootargs_load_addr right before kernel_load_addr for either SOS or pre-launched VMs. ramdisk_load_addr (GPA): - pre-launched VMs: currently it doesn't allow ramdisk. - SOS: currently it's assigned at mods[].mm_mod_start. It's a bug because it misses the hpa2gpa() conversion. - This patch puts ramdisk_load_addr right after (kernel_load_addr + kernel_size), which has 2 benefits: - for pre-launched VMs, mods[].mm_mod_start may be out of its GPA range. - it may be better to consolidate everything (bootarg, kernel, ramdisk) in consecutive GPA, other than spread them out in different places. Tracked-On: #2587 Signed-off-by: Zide Chen <zide.chen@intel.com> Reviewed-by: Eddie Dong <eddie.dong@intel.com> Reviewed-by: Victor Sun <victor.sun@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com> |
||
---|---|---|
.. | ||
arch/x86 | ||
boot | ||
bsp | ||
common | ||
debug | ||
dm | ||
hw | ||
include | ||
lib | ||
release | ||
scripts | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README.rst |
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/