mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-28 10:04:14 +00:00
Add this vcpu_affinity[] for each VM to indicate the assignment policy. With it, pcpu_bitmap is not needed, so remove it from vm_config. Instead, vcpu_affinity is a must for each VM. This patch also add some sanitize check of vcpu_affinity[]. Here are some rules: 1) only one bit can be set for each vcpu_affinity of vcpu. 2) two vcpus in same VM cannot be set with same vcpu_affinity. 3) vcpu_affinity cannot be set to the pcpu which used by pre-launched VM. v4: config SDC with CONFIG_MAX_KATA_VM_NUM v5: config SDC with CONFIG_MAX_PCPU_NUM Tracked-On: #3663 Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com> Signed-off-by: Yu Wang <yu1.wang@intel.com> Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com>
38 lines
1.1 KiB
C
38 lines
1.1 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>
|
|
|
|
#define CONFIG_MAX_VM_NUM (2U + CONFIG_MAX_KATA_VM_NUM)
|
|
|
|
/* 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 " \
|
|
SOS_BOOTARGS_DIFF
|
|
|
|
#if CONFIG_MAX_KATA_VM_NUM > 0
|
|
#define VM1_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(1U), AFFINITY_CPU(2U)}
|
|
#define VM2_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(3U)}
|
|
#else
|
|
#define VM1_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(1U), AFFINITY_CPU(2U), AFFINITY_CPU(3U)}
|
|
#endif
|
|
#endif /* VM_CONFIGURATIONS_H */
|