mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-10-16 01:47:58 +00:00
The settings of SOS VM COM1 which is used for console is board specific, and this result in SOS VM COM2 which used for VM communication is also board specific, so move the configure method from Kconfig to board configs folder. The MACRO definition will be handled by acrn-config tool in future. Tracked-On: #3602 Signed-off-by: Victor Sun <victor.sun@intel.com> Reviewed-by: Eddie Dong <eddie.dong@intel.com>
304 lines
8.3 KiB
Plaintext
304 lines
8.3 KiB
Plaintext
choice
|
|
prompt "ACRN Scenario"
|
|
default SDC
|
|
help
|
|
Select the scenario name to load corresponding VM configuration.
|
|
|
|
config SDC
|
|
bool "Software Defined Cockpit"
|
|
help
|
|
SDC (Software Defined Cockpit) is a typical scenario that ACRN supported.
|
|
SDC will have one pre-launched SOS VM and one post-launched VM.
|
|
|
|
config SDC2
|
|
bool "Software Defined Cockpit 2"
|
|
help
|
|
SDC2 (Software Defined Cockpit 2) is an extended scenario for automotive SDC system.
|
|
SDC2 will have one pre-launched SOS VM and up to three post-launched VM.
|
|
|
|
config LOGICAL_PARTITION
|
|
bool "Logical Partition VMs"
|
|
help
|
|
This scenario will run two pre-launched VMs.
|
|
|
|
config INDUSTRY
|
|
bool "Industry VMs"
|
|
help
|
|
This scenario is a typical scenario for industry usage with 4 VMs:
|
|
one pre-launched SOS VM, one post-launched Standard VM for HMI, one or two
|
|
post-launched RT VM for real-time control.
|
|
|
|
config HYBRID
|
|
bool "Hybrid VMs"
|
|
help
|
|
This scenario is a typical scenario for hybrid usage with 3 VMs:
|
|
one pre-launched VM, one pre-launched SOS VM and one post-launched Standard
|
|
VM.
|
|
|
|
endchoice
|
|
|
|
config BOARD
|
|
string "Target board"
|
|
help
|
|
The target board this build runs on top of.
|
|
|
|
config DEFCONFIG_LIST
|
|
string
|
|
option defconfig_list
|
|
default "arch/x86/configs/$BOARD.config"
|
|
|
|
config RELEASE
|
|
bool "Release build"
|
|
default n
|
|
help
|
|
Whether to build a release version of the hypervisor. Logs, serial
|
|
console and hypervisor shell are available only in non-release
|
|
(i.e. debug) builds. Assertions are not effective in release builds.
|
|
|
|
config MAX_VCPUS_PER_VM
|
|
int "Maximum number of VCPUs per VM"
|
|
range 1 8
|
|
default 8
|
|
help
|
|
The maximum number of virtual CPUs the hypervisor can support in a
|
|
single VM.
|
|
|
|
config MAX_PCPU_NUM
|
|
int "Maximum number of PCPU"
|
|
range 1 8
|
|
default 8
|
|
|
|
config MAX_EMULATED_MMIO_REGIONS
|
|
int "Maximum number of emulated MMIO regions"
|
|
range 0 128
|
|
default 16
|
|
|
|
config MAX_PT_IRQ_ENTRIES
|
|
int "Maximum number of interrupt source for PT devices"
|
|
range 0 128
|
|
default 64
|
|
|
|
config MAX_IOMMU_NUM
|
|
int "Maximum number of IOMMU devices"
|
|
range 1 6
|
|
default 2
|
|
help
|
|
The maximum number of physical IOMMUs the hypervisor can support.
|
|
|
|
config STACK_SIZE
|
|
hex "Capacity of one stack, in bytes"
|
|
default 0x2000
|
|
help
|
|
The size of stacks used by physical cores. Each core uses one stack
|
|
for normal operations and another three for specific exceptions.
|
|
|
|
config LOG_BUF_SIZE
|
|
hex "Capacity of logbuf for each physical cpu"
|
|
default 0x40000
|
|
|
|
config LOG_DESTINATION
|
|
int "Bitmap of consoles where logs are printed"
|
|
range 0 7
|
|
default 7
|
|
help
|
|
A bitmap indicating the destinations of log messages. Currently there
|
|
are 3 destinations available. Bit 0 represents the serial console, bit
|
|
1 the SOS ACRN log and bit 2 NPK log. Effective only in debug builds.
|
|
|
|
choice
|
|
prompt "Serial IO type"
|
|
depends on !RELEASE
|
|
optional
|
|
help
|
|
If selected, this configures whether the physical serial port shall
|
|
be accessed via memory-mapped registers or I/O ports.
|
|
|
|
If this is not selected, the serial port is disabled. This is the
|
|
default.
|
|
|
|
config SERIAL_PCI
|
|
bool "PCI"
|
|
help
|
|
Select this if the serial port shall be accessed via PCI memory-mapped
|
|
registers.
|
|
|
|
config SERIAL_LEGACY
|
|
bool "Legacy"
|
|
help
|
|
Select this if the serial port shall be accessed via legacy port in/out
|
|
instructions.
|
|
|
|
endchoice
|
|
|
|
config SERIAL_PCI_BDF
|
|
string "BDF of serial PCI device"
|
|
depends on SERIAL_PCI
|
|
default "0:18.2"
|
|
help
|
|
BDF: bus, device and function of the serial PCI device; for an example,
|
|
PCI device ttyS2: 0:18.2.
|
|
|
|
config SERIAL_PIO_BASE
|
|
hex "Base address of serial PIO region"
|
|
depends on SERIAL_LEGACY
|
|
default 0x3f8
|
|
help
|
|
The base address of the serial ports. This is logically 16-bit but used
|
|
as a 64-bit integer.
|
|
|
|
config CONSOLE_LOGLEVEL_DEFAULT
|
|
int "Default loglevel on the serial console"
|
|
depends on !RELEASE
|
|
range 0 6
|
|
default 3
|
|
help
|
|
This indicates the maximum debug level of logs that will be available
|
|
on the the serial console. The higher the number, the more logs will
|
|
be available.
|
|
|
|
config MEM_LOGLEVEL_DEFAULT
|
|
int "Default loglevel in memory"
|
|
depends on !RELEASE
|
|
range 0 6
|
|
default 5
|
|
help
|
|
This indicates the maximum debug level of logs that will be available
|
|
in the logbuf in memory which can be accessed by ACRN log in SOS. The
|
|
higher the number, the more logs will be available.
|
|
|
|
config NPK_LOGLEVEL_DEFAULT
|
|
int "Default loglevel for the hypervisor NPK log"
|
|
depends on !RELEASE
|
|
range 0 6
|
|
default 5
|
|
help
|
|
This indicates the maximum debug level of logs that will be available
|
|
via NPK log. The higher the number, the more logs will be available.
|
|
|
|
config LOW_RAM_SIZE
|
|
hex "Size of the low RAM region"
|
|
default 0x00010000
|
|
help
|
|
A 32-bit integer indicating the size of RAM region below address
|
|
0x10000, starting from address 0x0.
|
|
|
|
config HV_RAM_START
|
|
hex "2M-aligned Start physical address of the RAM region used by the hypervisor"
|
|
default 0x00400000
|
|
help
|
|
A 64-bit integer indicating the base physical address where the
|
|
hypervisor should be loaded. If RELOC is disabled, the bootloader
|
|
is required to load the hypervisor to this specific address.
|
|
Otherwise the hypervisor will not boot. With RELOC enabled the
|
|
hypervisor may relocate its symbols to where it is placed,
|
|
and thus the bootloader might not place the hypervisor at this
|
|
specific address.
|
|
Note that the addr demands 2M aligned, otherwise memory corruption
|
|
may occur.
|
|
|
|
config HV_RAM_SIZE
|
|
hex "Size of the RAM region used by the hypervisor"
|
|
default 0x0b800000
|
|
help
|
|
A 64-bit integer indicating the size of RAM used by the hypervisor.
|
|
It is ensured at link time that the footprint of the hypervisor
|
|
does not exceed this size.
|
|
|
|
config PLATFORM_RAM_SIZE
|
|
hex "Size of the physical platform RAM"
|
|
default 0x400000000
|
|
help
|
|
A 64-bit integer indicating the size of the physical platform RAM
|
|
(MMIO not included).
|
|
|
|
config SOS_RAM_SIZE
|
|
hex "Size of the Service OS (SOS) RAM"
|
|
default 0x400000000
|
|
help
|
|
A 64-bit integer indicating the size of the Service OS RAM (MMIO not
|
|
included).
|
|
|
|
config UOS_RAM_SIZE
|
|
hex "Size of the User OS (UOS) RAM"
|
|
default 0x200000000
|
|
help
|
|
A 64-bit integer indicating the size of the User OS RAM (MMIO not
|
|
included). Now we assume each UOS uses same amount of RAM size.
|
|
|
|
config ACPI_PARSE_ENABLED
|
|
bool "Enable ACPI runtime parsing"
|
|
default y
|
|
help
|
|
Whether to parse the ACPI tables at runtime.
|
|
|
|
config GPU_SBDF
|
|
hex "Segment, Bus, Device, and function of the GPU"
|
|
depends on ACPI_PARSE_ENABLED
|
|
default 0x00000010
|
|
help
|
|
A 32-bit integer encoding the segment, bus, device and function of the
|
|
GPU. This integer consists of a 16-bit segment ID, 8-bit bus ID, 5-bit
|
|
device ID and 3-bit function ID. As an example, for PCI device at
|
|
00:02.0 in DRHD segment 0, this SBDF would be (0 << 16) | (0 << 8) |
|
|
(2 << 3) | (0 << 0), i.e. 0x00000010.
|
|
|
|
config RELOC
|
|
bool "Enable hypervisor relocation"
|
|
default y
|
|
help
|
|
When selected, the hypervisor will relocate itself to where it is
|
|
loaded. This allows the bootloader to put the hypervisor image to
|
|
wherever appropriate. Without relocation the bootloader must put the
|
|
image to RAM_START, otherwise the hypervisor will not start up.
|
|
|
|
config MAX_IOAPIC_NUM
|
|
int "Maximum number of IO-APICs"
|
|
range 1 8
|
|
default 1
|
|
|
|
config MAX_IOAPIC_LINES
|
|
int "Maximum number of interrupt lines per IOAPIC"
|
|
range 1 120
|
|
default 120
|
|
|
|
config MAX_IR_ENTRIES
|
|
int "Maximum number of Interrupt Remapping Entries"
|
|
default 256
|
|
help
|
|
Minimum value is 256. Value must be 2^n.
|
|
|
|
config IOMMU_BUS_NUM
|
|
hex "Highest PCI bus ID used during IOMMU initialization"
|
|
default 0x100
|
|
help
|
|
Any BDF with a bus ID smaller than this number is mapped to
|
|
the IOMMU domain of the first VM.
|
|
|
|
config MAX_PCI_DEV_NUM
|
|
int "Maximum number of PCI devices"
|
|
range 1 1024
|
|
default 96
|
|
|
|
config MAX_MSIX_TABLE_NUM
|
|
int "Maximum number of MSI-X tables per device"
|
|
range 1 2048
|
|
default 16
|
|
|
|
config ENFORCE_VALIDATED_ACPI_INFO
|
|
bool "Enforce the use of validated ACPI info table"
|
|
default n
|
|
help
|
|
When set, the use of validated ACPI info tables is enforced and using
|
|
an offline tool to generate such data is required. Otherwise a
|
|
warning will be printed when validated ACPI info is unavailable, but
|
|
a binary can still be built with the ACPI info template.
|
|
|
|
config L1D_FLUSH_VMENTRY_ENABLED
|
|
bool "Enable L1 cache flush before VM entry"
|
|
default n
|
|
|
|
config MAX_KATA_VM_NUM
|
|
int "Maximum number of Kata Containers in SOS"
|
|
range 0 1
|
|
default 0
|