Repository navigation
Switch to KVM hypervisor on Rb3Gen2-Core-Kit and QCM6490-IDP - #2879
Conversation
7d56df9 to
a0d5c14
Compare
Test Results 68 files ±0 319 suites ±0 3h 53m 6s ⏱️ + 24m 32s For more details on these failures, see this check. Results for commit 8eb083a. ± Comparison against base commit cf53a39. This pull request removes 2 tests.♻️ This comment has been updated with latest results. |
c9890b0 to
d3973df
Compare
|
Dmitry Baryshkov (@lumag) Ricardo Salveti (@ricardosalveti) KVM enablement for QCS6490 is planned for the upcoming release, and we are running short on time to complete the full L4 test cycle. Could you please review this PR and let me know if you see any issues or required modifications? As you are already aware, supporting both hypervisors is being tracked in another PR, on which we can continue discussions for a clean switching solution. |
We have two different items here. KVM enablement and KVM being a default. Could we separate them? I don't think we require KVM being a default for completing L4 testing? |
Commitment for Sep release is to switch to default KVM and perform complete L4 testing on KVM. |
This means it must be implemented correctly. No shortcuts, |
d3973df to
b6c9efc
Compare
b6c9efc to
373420d
Compare
|
Dmitry Baryshkov (@lumag) Ricardo Salveti (@ricardosalveti) as discussed over the call with sahitya-tummala, I updated the commit messages in the current PR and also created #3052 to add Gunyah support in CI. Can you please review? |
44f5115 to
17ba272
Compare
|
Dmitry Baryshkov (@lumag) Ricardo Salveti (@ricardosalveti) rebased on tip to resolve conflicts. Can you recheck? |
17ba272 to
d26a0cc
Compare
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>
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>
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>
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>
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>
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>
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>
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>
d26a0cc to
8eb083a
Compare
Dmitry Baryshkov (lumag)
left a comment
There was a problem hiding this comment.
Thanks!
|
Known test failures. |
30af9dd
into
qualcomm-linux:master
|
Git push to origin failed for wrynose with exitcode 1 |
Follow up to #2879. Three small fixes to the kodiak compatible strings now that kvm is the default hypervisor. qcs6490-iot subtype13 was the only kodiak combo left without kodiak-el2, since it only exists in the base fit-dtb-compatible.inc, so that board boots without the EL2 fixups while running the kvm xbl_config. The Gunyah entries for the kodiak camx staging combos ended up as -camx-el2gh-staging, while qcs615, qcs8275, qcs8300, qcs9075 and sa8775p-qam-r2.0 all use -el2gh-camx-staging. The last commit fixes the same outlier on sa8775p-qam, which was raised during the review of #2879.
All PILs are functioning correctly with KVM on Rb3Gen2-Core-Kit and QCM6490-IDP. Update
FIT_DTB_COMPATIBLE entries and machine configurations to switch to KVM on these boards.