mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-30 19:05:33 +00:00
Currently ept_pages_info[] is initialized with first element only that force VM of id 0 using SOS EPT pages. This is incorrect for logical partition and hybrid scenario. Considering SOS_RAM_SIZE and UOS_RAM_SIZE are configured separately, we should use different ept pages accordingly. So, the PRE_VM_NUM/SOS_VM_NUM and MAX_POST_VM_NUM macros are introduced to resolve this issue. The macros would be generated by acrn-config tool when user configure ACRN for their specific scenario. One more thing, that when UOS_RAM_SIZE is less then 2GB, the EPT address range should be (4G + PLATFORM_HI_MMIO_SIZE). Tracked-On: #4458 Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/*
|
|
* Copyright (C) 2018 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef VM_CONFIGURATIONS_H
|
|
#define VM_CONFIGURATIONS_H
|
|
|
|
#include <misc_cfg.h>
|
|
|
|
/* SOS_VM_NUM can only be 0U or 1U;
|
|
* When SOS_VM_NUM is 0U, MAX_POST_VM_NUM must be 0U too;
|
|
* MAX_POST_VM_NUM must be bigger than CONFIG_MAX_KATA_VM_NUM;
|
|
*/
|
|
#define PRE_VM_NUM 0U
|
|
#define SOS_VM_NUM 1U
|
|
#define MAX_POST_VM_NUM 3U
|
|
|
|
/* Bits mask of guest flags that can be programmed by device model. Other bits are set by hypervisor only */
|
|
#define DM_OWNED_GUEST_FLAG_MASK (GUEST_FLAG_SECURE_WORLD_ENABLED | GUEST_FLAG_LAPIC_PASSTHROUGH | \
|
|
GUEST_FLAG_RT | GUEST_FLAG_IO_COMPLETION_POLLING)
|
|
|
|
#define SOS_VM_BOOTARGS SOS_ROOTFS \
|
|
"rw rootwait " \
|
|
"console=tty0 " \
|
|
SOS_CONSOLE \
|
|
"consoleblank=0 " \
|
|
"no_timer_check " \
|
|
"quiet loglevel=3 " \
|
|
"i915.nuclear_pageflip=1 " \
|
|
"i915.avail_planes_per_pipe=0x01010F " \
|
|
"i915.domain_plane_owners=0x011111110000 " \
|
|
"i915.enable_gvt=1 idle=halt " \
|
|
SOS_BOOTARGS_DIFF
|
|
|
|
#define VM1_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(1U)}
|
|
#define VM2_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(2U)}
|
|
#define VM3_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(3U)}
|
|
|
|
#endif /* VM_CONFIGURATIONS_H */
|