295 lines
8.0 KiB
Plaintext
295 lines
8.0 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 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.
|
|
|
|
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 COM_BASE
|
|
hex "Base address of the vuart port"
|
|
default 0 if RELEASE
|
|
default 0x3f8 if !RELEASE
|
|
help
|
|
Base address of the vuart port.
|
|
|
|
config COM_IRQ
|
|
int "IRQ of the vuart port"
|
|
default 0 if RELEASE
|
|
default 4 if !RELEASE
|
|
help
|
|
IRQ of the vuart port.
|
|
|
|
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_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
|