[Backport wrynose] Switch to KVM hypervisor on Rb3Gen2-Core-Kit and QCM6490-IDP - #3189
Merged
Ricardo Salveti (ricardosalveti) merged 8 commits intoSep 19, 2026
Merged
Conversation
The el2gh suffix selects the Gunyah hypervisor variant of a board's compatible string, the same way el2kvm selects the KVM variant. Like camx and staging, it is a feature/hypervisor selector rather than board metadata, so it has no corresponding node in qcom-metadata.dtb. test_fitimage_compatible_metadata_validation validates every dash-separated suffix of the generated ITS compatible strings against the metadata node names, and so already fails today on the pre-existing el2gh entries in fit-dtb-compatible-linux-qcom.inc. Add el2gh to the skip set to match the metadata-check script's blacklist, and to COMPAT_EXTENSIONS so the unit-level fixtures stay in sync. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 81a6516)
KVM is the preffered hypervisor for Qualcomm Linux SoCs. Gunyah was used as an interim solution till KVM is fully functional. Now that KVM support on Rb3Gen2 Core Kit has been validated, it no longer requires Gunyah as an interim solution. Add 'kvm' to MACHINE_FEATURES so that the KVM-specific XBL configuration is selected during boot. This switches the default hypervisor to KVM and aligns Rb3Gen2 Core Kit with IQ-615-EVK, IQ-8275-EVK, and IQ-9075-EVK. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 6b291ff)
KVM is the preffered hypervisor for Qualcomm Linux SoCs. Gunyah was used as an interim solution till KVM is fully functional. Now that KVM support on QCM6490-IDP has been validated, it no longer requires Gunyah as an interim solution. Add 'kvm' to MACHINE_FEATURES so that the KVM-specific XBL configuration is selected during boot. This switches the default hypervisor to KVM and aligns QCM6490-IDP with IQ-615-EVK, IQ-8275-EVK, and IQ-9075-EVK. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 8a3ce07)
Kodiak FIT_DTB_COMPATIBLE entries currently use el2kvm-suffixed compatible strings to load el2.dtbo for KVM. Entries without any el2 suffix implicitly meant Gunyah. As KVM is the default hypervisor now, rename the kodiak entries to match: drop the -el2kvm suffix from the entries that select kodiak-el2.dtbo, and append -el2gh to the sibling entries that don't, so the unsuffixed compatible string is KVM by default. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit d45717e)
The kodiak entries were renamed so the unsuffixed compatible string is KVM by default and an -el2gh suffix marks the Gunyah variant, but no -el2gh entry existed for the plain (no -staging, no -camx) combos, so those boards had no way to select the Gunyah DTB without kodiak-el2. Add the missing -el2gh entries for qcm6490-idp, qcs5430-iot, qcs6490-iot, and their subtype2/subtype9 variants. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 8bced9a)
The kodiak "-staging" FIT_DTB_COMPATIBLE entries carried no hypervisor overlay, unlike their non-staging counterparts, which were switched to default to the kvm hypervisor in a previous commit. Append "kodiak-el2" to the "-staging" entries' values so they default to kvm as well, consistent with the rest of the kodiak entries. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 1a71920)
The rb3gen2-core-kit-open-fw machine inherit base rb3gen2-core-kit machine configuration which now has 'kvm' by default. The KAS fragment it was using to inject 'kvm' is therefore redundant, so switch the CI entry from qcom-distro-kvm to qcom-distro. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 36f577e)
KVM is now enabled by default on Rb3Gen2-Core-Kit, making the dedicated KVM build is redundent. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com> (cherry picked from commit 8eb083a)
Viswanath Kraleti (vkraleti)
changed the base branch from
master
to
wrynose
September 18, 2026 00:48
Ricardo Salveti (ricardosalveti)
approved these changes
Sep 18, 2026
Anuj Mittal (anujm1)
approved these changes
Sep 18, 2026
Jose Quaresma (quaresmajose)
approved these changes
Sep 18, 2026
Koen Kooi (koenkooi)
approved these changes
Sep 18, 2026
Test Results 119 files 715 suites 7h 32m 3s ⏱️ Results for commit 796d87f. ♻️ This comment has been updated with latest results. |
Ricardo Salveti (ricardosalveti)
merged commit Sep 19, 2026
d055051
into
wrynose
242 of 243 checks passed
Ricardo Salveti (ricardosalveti)
deleted the
backport/2879-to-wrynose
branch
September 19, 2026 00:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Backport of #2879 to
wrynose.