mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-19 18:01:01 +00:00
config: add arm64-specific configs
Add a few arm64-specific configs and classify them into seven new categories , that is, 1. base architecture-dependent options(base.conf) It also includes varient-specific features, like CONFIG_ARM64_PMEM is one ARMv8.2 arichitectural features. 2. crypto-related options(crypto.conf) ARMv8 adds cryptographic instructions that could significantly improve performance on tasks such as AES encryption and SHA1 and SHA256 hashing. 3. device tree related options(dt.conf) The "Open Firmware Device Tree", or simply Device Tree (DT), is a data structure and language for describing hardware, which is commonly used in arm architecture. 4. ARM errata workarounds options(errata.conf) There are many Kconfig entires under "Kernel Features" -> "ARM errata workarounds via the alternatives framework", which provides software workarounds to mitigate systems affected by those erratum. Vendor-specific option will be left to users to decide. 5. pci related options(pci.conf) a simplified pci host controller for mach-virt. 6. serial devices options(serial.conf) CONFIG_SERIAL_OF_PLATFORM is used for all 8250 compatible serial ports that are probed through device tree. 7. rtc related options(rtc.conf) we don't have KVM’s paravirtualized clock and ptp implementation is still under experimental mode, so we need rtc on aarch64. QEMU provides an emulated ARM AMBA PrimeCell PL031 RTC. Fixes: #1004 Signed-off-by: Penny Zheng <penny.zheng@arm.com>
This commit is contained in:
parent
9784bb3e6f
commit
42e56a6309
42
kernel/configs/fragments/arm64/base.conf
Normal file
42
kernel/configs/fragments/arm64/base.conf
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
CONFIG_ARM64=y
|
||||||
|
CONFIG_ARM64_4K_PAGES=y
|
||||||
|
|
||||||
|
# ARM servers are often multi-cores, following configs improve
|
||||||
|
# the CPU scheduler's decision making.
|
||||||
|
CONFIG_SCHED_MC=y
|
||||||
|
CONFIG_SCHED_SMT=y
|
||||||
|
|
||||||
|
# Virtual address space size (48-bit)
|
||||||
|
CONFIG_ARM64_VA_BITS_48=y
|
||||||
|
CONFIG_ARM64_VA_BITS=48
|
||||||
|
# Physical address space size (48-bit)
|
||||||
|
CONFIG_ARM64_PA_BITS_48=y
|
||||||
|
CONFIG_ARM64_PA_BITS=48
|
||||||
|
|
||||||
|
# Use the maximum number of CPUs supported by KVM (255)
|
||||||
|
CONFIG_NR_CPUS=255
|
||||||
|
|
||||||
|
CONFIG_PERF_EVENTS=y
|
||||||
|
|
||||||
|
# No architected NMI
|
||||||
|
CONFIG_ARM64_PSEUDO_NMI=y
|
||||||
|
CONFIG_ARM64_SVE=y
|
||||||
|
|
||||||
|
# Arm64 prefers to use REFCOUNT_FULL by default.
|
||||||
|
CONFIG_REFCOUNT_FULL=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# ARMv8.1 architectural features
|
||||||
|
#
|
||||||
|
CONFIG_ARM64_HW_AFDBM=y
|
||||||
|
CONFIG_ARM64_PAN=y
|
||||||
|
# end of ARMv8.1 architectural features
|
||||||
|
|
||||||
|
#
|
||||||
|
# ARMv8.2 architectural features
|
||||||
|
#
|
||||||
|
CONFIG_ARM64_CNP=y
|
||||||
|
CONFIG_ARM64_PMEM=y
|
||||||
|
CONFIG_ARM64_RAS_EXTN=y
|
||||||
|
CONFIG_ARM64_UAO=y
|
||||||
|
# end of ARMv8.2 architectural feature
|
6
kernel/configs/fragments/arm64/crypto.conf
Normal file
6
kernel/configs/fragments/arm64/crypto.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# ARMv8 adds cryptographic instructions that could significantly improve
|
||||||
|
# performance on tasks such as AES encryption and SHA1 and SHA256 hashing.
|
||||||
|
CONFIG_ARM64_CRYPTO=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA256_ARM64=y
|
4
kernel/configs/fragments/arm64/dt.conf
Normal file
4
kernel/configs/fragments/arm64/dt.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# Device Tree and Open Firmware support
|
||||||
|
CONFIG_DTC=y
|
||||||
|
CONFIG_OF=y
|
||||||
|
CONFIG_OF_PMEM=y
|
15
kernel/configs/fragments/arm64/erratum.conf
Normal file
15
kernel/configs/fragments/arm64/erratum.conf
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# ARM errata workarounds via the alternatives framework.
|
||||||
|
# Vendor-specific option will be left to users to decide.
|
||||||
|
CONFIG_ARM64_ERRATUM_1024718=y
|
||||||
|
CONFIG_ARM64_ERRATUM_1165522=y
|
||||||
|
CONFIG_ARM64_ERRATUM_1286807=y
|
||||||
|
CONFIG_ARM64_ERRATUM_1463225=y
|
||||||
|
CONFIG_ARM64_ERRATUM_819472=y
|
||||||
|
CONFIG_ARM64_ERRATUM_824069=y
|
||||||
|
CONFIG_ARM64_ERRATUM_826319=y
|
||||||
|
CONFIG_ARM64_ERRATUM_827319=y
|
||||||
|
CONFIG_ARM64_ERRATUM_832075=y
|
||||||
|
CONFIG_ARM64_ERRATUM_843419=y
|
||||||
|
CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
|
||||||
|
CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
|
||||||
|
|
3
kernel/configs/fragments/arm64/pci.conf
Normal file
3
kernel/configs/fragments/arm64/pci.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# It brings PCI support to mach-virt based upon an idealised host controller.
|
||||||
|
CONFIG_PCI_HOST_COMMON=y
|
||||||
|
CONFIG_PCI_HOST_GENERIC=y
|
10
kernel/configs/fragments/arm64/rtc.conf
Normal file
10
kernel/configs/fragments/arm64/rtc.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
CONFIG_RTC_LIB=y
|
||||||
|
CONFIG_RTC_CLASS=y
|
||||||
|
CONFIG_RTC_HCTOSYS=y
|
||||||
|
CONFIG_RTC_SYSTOHC=y
|
||||||
|
# RTC interfaces
|
||||||
|
CONFIG_RTC_INTF_SYSFS=y
|
||||||
|
CONFIG_RTC_INTF_PROC=y
|
||||||
|
CONFIG_RTC_INTF_DEV=y
|
||||||
|
# QEMU provides an emulated ARM AMBA PrimeCell PL031 RTC.
|
||||||
|
CONFIG_RTC_DRV_PL031=y
|
3
kernel/configs/fragments/arm64/serial.conf
Normal file
3
kernel/configs/fragments/arm64/serial.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# This option is used for all 8250 compatible serial ports
|
||||||
|
# that are probed through device tree.
|
||||||
|
CONFIG_SERIAL_OF_PLATFORM=y
|
Loading…
Reference in New Issue
Block a user