make vendor/phone_defconfig won´t work, generated .config does not have some stuff. Why?

Viewed 60

On https://github.com/MoonBase-Project/MSM-4.19-MiBengal/ I had to do

make CONFIG_HAVE_KVM=y CONFIG_KVM=y CONFIG_KVM_ARM_HOST=y O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- vendor/citrus-perf_defconfig
make CONFIG_HAVE_KVM=y CONFIG_KVM=y CONFIG_KVM_ARM_HOST=y O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- -j$(nproc --all) 2>&1 | tee kernel.log

because putting

CONFIG_HAVE_KVM=y 
CONFIG_KVM=y 
CONFIG_KVM_ARM_HOST=y

on vendor/citrus-perf_defconfig wouldn't work no matter what I tried. The .config generated from it wouldn't have the KVM configs.

What is happening? I went as far as looking at the C code that generates it, but I couldn't understand what's happening

1 Answers

You need to also add the following line to arch/arm64/configs/vendor/citrus-perf_defconfig:

CONFIG_VIRTUALIZATION=y

As you can see in arch/arm64/kvm/Kconfig, KVM options are inside an if block:

if VIRTUALIZATION

config KVM
        bool "Kernel-based Virtual Machine (KVM) support"
...
endif # VIRTUALIZATION
Related