Linuxカーネル4.16.1と4.16.2をコンパイルしようとすると、次のエラーが発生します。
arch/x86/kvm/svm.o: In function `__sev_issue_cmd':
svm.c:(.text+0x1f08): undefined reference to `sev_issue_cmd_external_user'
arch/x86/kvm/svm.o: In function `sev_unbind_asid':
svm.c:(.text+0x2033): undefined reference to `sev_guest_deactivate'
svm.c:(.text+0x203f): undefined reference to `sev_guest_df_flush'
svm.c:(.text+0x206c): undefined reference to `sev_guest_decommission'
arch/x86/kvm/svm.o: In function `svm_mem_enc_op':
svm.c:(.text+0x2c56): undefined reference to `psp_copy_user_blob'
svm.c:(.text+0x2d4c): undefined reference to `sev_platform_init'
svm.c:(.text+0x2e59): undefined reference to `psp_copy_user_blob'
svm.c:(.text+0x2eea): undefined reference to `sev_guest_df_flush'
svm.c:(.text+0x2f3d): undefined reference to `sev_guest_activate'
svm.c:(.text+0x3001): undefined reference to `psp_copy_user_blob'
svm.c:(.text+0x3054): undefined reference to `psp_copy_user_blob'
arch/x86/kvm/svm.o: In function `svm_hardware_setup':
svm.c:(.init.text+0x263): undefined reference to `sev_platform_status'
make: *** [Makefile:1041: vmlinux] Error 1
この問題を解決するにはどうすればよいかを知っている人はいますか?以前のカーネルバージョンを使用すると、この問題は発生しませんでした。
答え1
モジュールではなくカーネルにコンパイルされた「カーネルベースの仮想マシンのサポート」が必要です。完了すると、カーネルは問題なくコンパイルされました。