mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-19 12:12:16 +00:00
kconfig: add more help messages to config symbols
Add help messages to all visible symbols except those heap-related ones which will be dropped eventually. v2 -> v3 * Fix typos and misleading descriptions. v1 -> v2 * Per kconfig language, help messages shall have a larger indent level than the attributes. * Rephrase for clarify. Tracked-On: #1588 Signed-off-by: Junjie Mao <junjie.mao@intel.com> Reviewed-by: Anthony Xu <anthony.xu@intel.com>
This commit is contained in:
parent
05bb7aa212
commit
256108f16b
@ -1,26 +1,43 @@
|
|||||||
choice
|
choice
|
||||||
prompt "Platform"
|
prompt "Platform"
|
||||||
default PLATFORM_SBL
|
default PLATFORM_SBL
|
||||||
|
help
|
||||||
|
The BIOS used on the target board.
|
||||||
|
|
||||||
config PLATFORM_UEFI
|
config PLATFORM_UEFI
|
||||||
bool "UEFI"
|
bool "UEFI"
|
||||||
select EFI_STUB
|
select EFI_STUB
|
||||||
|
help
|
||||||
|
Select this if the target board uses UEFI.
|
||||||
|
|
||||||
config PLATFORM_SBL
|
config PLATFORM_SBL
|
||||||
bool "SBL"
|
bool "SBL"
|
||||||
|
help
|
||||||
|
Select this if the target board uses Slim Bootloader.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Hypervisor mode"
|
prompt "Hypervisor mode"
|
||||||
default SHARING_MODE
|
default SHARING_MODE
|
||||||
|
help
|
||||||
|
Select the usage mode of the hypervisor.
|
||||||
|
|
||||||
config SHARING_MODE
|
config SHARING_MODE
|
||||||
bool "Sharing mode"
|
bool "Sharing mode"
|
||||||
|
help
|
||||||
|
In sharing mode, the first VM (called Service OS or SOS) is capable of
|
||||||
|
managing the other VMs (called User OS or UOS) and trap/mediate their
|
||||||
|
I/O accesses to physical devices.
|
||||||
|
|
||||||
config PARTITION_MODE
|
config PARTITION_MODE
|
||||||
bool "Partition mode"
|
bool "Partition mode"
|
||||||
depends on PLATFORM_SBL
|
depends on PLATFORM_SBL
|
||||||
|
help
|
||||||
|
In partition mode, every VM owns part of the physical resources
|
||||||
|
exclusively and runs with minimal interference from the others. The VM
|
||||||
|
configurations are statically defined in the source.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config PLATFORM
|
config PLATFORM
|
||||||
@ -31,16 +48,27 @@ config PLATFORM
|
|||||||
config RELEASE
|
config RELEASE
|
||||||
bool "Release build"
|
bool "Release build"
|
||||||
default n
|
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_VM_NUM
|
config MAX_VM_NUM
|
||||||
int "Maximum number of VM"
|
int "Maximum number of VM"
|
||||||
range 1 8
|
range 1 8
|
||||||
default 4
|
default 4
|
||||||
|
help
|
||||||
|
The maximum number of virtual machines (VMs) the hypervisor can
|
||||||
|
support. This is customizable per the use cases of the build. For
|
||||||
|
general-purpose builds the maximum of physical cores can be used.
|
||||||
|
|
||||||
config MAX_VCPUS_PER_VM
|
config MAX_VCPUS_PER_VM
|
||||||
int "Maximum number of VCPUS per VM"
|
int "Maximum number of VCPUS per VM"
|
||||||
range 1 8
|
range 1 8
|
||||||
default 4
|
default 4
|
||||||
|
help
|
||||||
|
The maximum number of virtual CPUs the hypervisor can support in a
|
||||||
|
single VM.
|
||||||
|
|
||||||
config MAX_PCPU_NUM
|
config MAX_PCPU_NUM
|
||||||
int "Maximum number of PCPU"
|
int "Maximum number of PCPU"
|
||||||
@ -48,45 +76,56 @@ config MAX_PCPU_NUM
|
|||||||
default 8
|
default 8
|
||||||
|
|
||||||
config MAX_IOMMU_NUM
|
config MAX_IOMMU_NUM
|
||||||
int "Maximum number of iommu dev"
|
int "Maximum number of IOMMU devices"
|
||||||
range 1 2
|
range 1 2
|
||||||
default 2
|
default 2
|
||||||
|
help
|
||||||
|
The maximum number of physical IOMMUs the hypervisor can support.
|
||||||
|
|
||||||
config STACK_SIZE
|
config STACK_SIZE
|
||||||
hex "Capacity of each stack used in the hypervisor"
|
hex "Capacity of one stack, in byte"
|
||||||
default 0x2000
|
default 0x2000
|
||||||
|
help
|
||||||
config LOG_BUF_SIZE
|
The size of stacks used by physical cores. Each core uses one stack
|
||||||
hex "Capacity of logbuf"
|
for normal operations and another three for specific exceptions.
|
||||||
default 0x100000
|
|
||||||
|
|
||||||
config LOG_DESTINATION
|
config LOG_DESTINATION
|
||||||
int "Bitmap of consoles where logs are printed"
|
int "Bitmap of consoles where logs are printed"
|
||||||
range 0 7
|
range 0 7
|
||||||
default 7
|
default 7
|
||||||
help
|
help
|
||||||
A bitmap indicating the destinations of log messages. Currently there
|
A bitmap indicating the destinations of log messages. Currently there
|
||||||
are 3 destinations available. Bit 0 represents the serial console, bit
|
are 3 destinations available. Bit 0 represents the serial console, bit
|
||||||
1 the SOS ACRN log and bit 2 NPK log.
|
1 the SOS ACRN log and bit 2 NPK log. Effective only in debug builds.
|
||||||
|
|
||||||
config CPU_UP_TIMEOUT
|
config CPU_UP_TIMEOUT
|
||||||
int "Timeout in ms when bringing up secondary CPUs"
|
int "Timeout in ms when bringing up secondary CPUs"
|
||||||
range 100 200
|
range 100 200
|
||||||
default 100
|
default 100
|
||||||
help
|
help
|
||||||
A 32-bit integer specifying the timeout in microsecond when waiting for
|
A 32-bit integer specifying the timeout in millisecond when waiting
|
||||||
secondary CPUs to start up.
|
for secondary CPUs to start up.
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "serial IO type"
|
prompt "serial IO type"
|
||||||
|
depends on !RELEASE
|
||||||
default SERIAL_MMIO if PLATFORM_SBL
|
default SERIAL_MMIO if PLATFORM_SBL
|
||||||
default SERIAL_PIO if PLATFORM_UEFI
|
default SERIAL_PIO if PLATFORM_UEFI
|
||||||
|
help
|
||||||
|
Whether the physical serial port shall be accessed via memory-mapped
|
||||||
|
registers or I/O ports.
|
||||||
|
|
||||||
config SERIAL_MMIO
|
config SERIAL_MMIO
|
||||||
bool "MMIO"
|
bool "MMIO"
|
||||||
|
help
|
||||||
|
Select this if the serial port shall be accessed via memory-mapped
|
||||||
|
registers.
|
||||||
|
|
||||||
config SERIAL_PIO
|
config SERIAL_PIO
|
||||||
bool "PIO"
|
bool "PIO"
|
||||||
|
help
|
||||||
|
Select this if the serial port shall be accessed via in/out
|
||||||
|
instructions.
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@ -95,16 +134,16 @@ config SERIAL_MMIO_BASE
|
|||||||
depends on SERIAL_MMIO
|
depends on SERIAL_MMIO
|
||||||
default 0xfc000000
|
default 0xfc000000
|
||||||
help
|
help
|
||||||
A 64-bit integer indicating the base physical address of the
|
A 64-bit integer indicating the base physical address of the
|
||||||
memory-mapped UART registers.
|
memory-mapped UART registers.
|
||||||
|
|
||||||
config SERIAL_PIO_BASE
|
config SERIAL_PIO_BASE
|
||||||
hex "Base address of serial PIO region"
|
hex "Base address of serial PIO region"
|
||||||
depends on SERIAL_PIO
|
depends on SERIAL_PIO
|
||||||
default 0x3f8
|
default 0x3f8
|
||||||
help
|
help
|
||||||
The base of the UART ports. This is logically 16-bit but used as a
|
The base address of the UART ports. This is logically 16-bit but used
|
||||||
64-bit integer.
|
as a 64-bit integer.
|
||||||
|
|
||||||
config MALLOC_ALIGN
|
config MALLOC_ALIGN
|
||||||
int "Block size in the heap for malloc()"
|
int "Block size in the heap for malloc()"
|
||||||
@ -121,62 +160,86 @@ config HEAP_SIZE
|
|||||||
|
|
||||||
config CONSOLE_LOGLEVEL_DEFAULT
|
config CONSOLE_LOGLEVEL_DEFAULT
|
||||||
int "Default loglevel on the serial console"
|
int "Default loglevel on the serial console"
|
||||||
|
depends on !RELEASE
|
||||||
range 0 6
|
range 0 6
|
||||||
default 3
|
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
|
config MEM_LOGLEVEL_DEFAULT
|
||||||
int "Default loglevel in memory"
|
int "Default loglevel in memory"
|
||||||
|
depends on !RELEASE
|
||||||
range 0 6
|
range 0 6
|
||||||
default 5
|
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
|
config NPK_LOGLEVEL_DEFAULT
|
||||||
int "Default loglevel for the hypervisor NPK log"
|
int "Default loglevel for the hypervisor NPK log"
|
||||||
|
depends on !RELEASE
|
||||||
range 0 6
|
range 0 6
|
||||||
default 5
|
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
|
config LOW_RAM_SIZE
|
||||||
hex "Size of the low RAM region"
|
hex "Size of the low RAM region"
|
||||||
default 0x00010000
|
default 0x00010000
|
||||||
help
|
help
|
||||||
A 32-bit integer indicating the size of RAM region below address
|
A 32-bit integer indicating the size of RAM region below address
|
||||||
0x10000, starting from address 0x0.
|
0x10000, starting from address 0x0.
|
||||||
|
|
||||||
config RAM_START
|
config RAM_START
|
||||||
hex "Address of the RAM region assigned to the hypervisor"
|
hex "Address of the RAM region assigned to the hypervisor"
|
||||||
default 0x6e000000 if PLATFORM_SBL
|
default 0x6e000000 if PLATFORM_SBL
|
||||||
default 0x00100000 if PLATFORM_UEFI
|
default 0x00100000 if PLATFORM_UEFI
|
||||||
help
|
help
|
||||||
A 64-bit integer indicating the base address to where the hypervisor
|
A 64-bit integer indicating the base address to where the hypervisor
|
||||||
should be loaded to. If RELOC is disabled the bootloader is required to
|
should be loaded to. If RELOC is disabled the bootloader is required
|
||||||
load the hypervisor to this specific address. Otherwise the hypervisor
|
to load the hypervisor to this specific address. Otherwise the
|
||||||
will not boot.With RELOC enabled the hypervisor is capable of relocating
|
hypervisor will not boot. With RELOC enabled the hypervisor is capable
|
||||||
its symbols to where it is placed at, and thus the bootloader may not
|
of relocating its symbols to where it is placed at, and thus the
|
||||||
place the hypervisor at this specific address.
|
bootloader may not place the hypervisor at this specific address.
|
||||||
|
|
||||||
config RAM_SIZE
|
config RAM_SIZE
|
||||||
hex "Size of the RAM region assigned to the hypervisor"
|
hex "Size of the RAM region assigned to the hypervisor"
|
||||||
default 0x02000000
|
default 0x02000000
|
||||||
help
|
help
|
||||||
A 64-bit integer indicating the size of RAM assigned to the
|
A 64-bit integer indicating the size of RAM assigned to the
|
||||||
hypervisor. It is ensured at link time that the footprint of the
|
hypervisor. It is ensured at link time that the footprint of the
|
||||||
hypervisor does not exceed this size.
|
hypervisor does not exceed this size.
|
||||||
|
|
||||||
config CONSTANT_ACPI
|
config CONSTANT_ACPI
|
||||||
bool "The platform ACPI info is constant"
|
bool "The platform ACPI info is constant"
|
||||||
default n
|
default n
|
||||||
|
help
|
||||||
|
Whether constant ACPI tables shall be used. If selected, the built-in
|
||||||
|
ACPI tables, usually generated on target platforms by an offline tool,
|
||||||
|
will be used. If not a fixup subroutine will be invoked to update the
|
||||||
|
built-in tables after parsing the real ACPI tables at runtime.
|
||||||
|
|
||||||
config DMAR_PARSE_ENABLED
|
config DMAR_PARSE_ENABLED
|
||||||
bool
|
bool
|
||||||
default n if PLATFORM_SBL
|
default n if PLATFORM_SBL
|
||||||
default y if PLATFORM_UEFI
|
default y if PLATFORM_UEFI
|
||||||
|
help
|
||||||
|
Whether to parse the ACPI DMA Remapping tables at runtime.
|
||||||
|
|
||||||
config GPU_SBDF
|
config GPU_SBDF
|
||||||
hex
|
hex
|
||||||
depends on DMAR_PARSE_ENABLED
|
depends on DMAR_PARSE_ENABLED
|
||||||
default 0x00000010
|
default 0x00000010
|
||||||
help
|
help
|
||||||
A 32-bit integer encoding the segment, bus, device and function of the
|
A 32-bit integer encoding the segment, bus, device and function of the
|
||||||
GPU.
|
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 EFI_STUB
|
config EFI_STUB
|
||||||
bool
|
bool
|
||||||
@ -195,11 +258,19 @@ config MTRR_ENABLED
|
|||||||
config RELOC
|
config RELOC
|
||||||
bool "Enable relocation"
|
bool "Enable relocation"
|
||||||
default n
|
default n
|
||||||
|
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 IOMMU_INIT_BUS_LIMIT
|
config IOMMU_INIT_BUS_LIMIT
|
||||||
hex "bus limitation when iommu init"
|
hex "Limit of PCI bus on IOMMU initialization"
|
||||||
default 0xf if PLATFORM_SBL
|
default 0xf if PLATFORM_SBL
|
||||||
default 0xff if PLATFORM_UEFI
|
default 0xff if PLATFORM_UEFI
|
||||||
|
help
|
||||||
|
Any BDF with a bus ID smaller than or equal to this limit is mapped to
|
||||||
|
the IOMMU domain of the first VM.
|
||||||
|
|
||||||
config MAX_PCI_DEV_NUM
|
config MAX_PCI_DEV_NUM
|
||||||
int "Maximum number of PCI dev"
|
int "Maximum number of PCI dev"
|
||||||
|
Loading…
Reference in New Issue
Block a user