Enable KVM by default on Lemans and Monaco Platforms#2251
Conversation
| FIT_DTB_COMPATIBLE[qcs8300-ride+qcs8300-ride-camx+monaco-el2+monaco-camx-el2] = "qcom,qcs8300-adp-camx-el2kvm" | ||
| FIT_DTB_COMPATIBLE[qcs8300-ride+qcs8300-ride-camx+monaco-el2+monaco-camx-el2+monaco-staging] = "qcom,qcs8300-adp-camx-el2kvm-staging" | ||
| FIT_DTB_COMPATIBLE[qcs9100-ride] = " \ | ||
| FIT_DTB_COMPATIBLE[qcs9100-ride+lemans-el2] = " \ |
There was a problem hiding this comment.
Is lemans-el2 available on linux-yocto?
There was a problem hiding this comment.
lemans-el2.dtbo is available from 'v7.0-rc1' onwards. I'll backport the change as a .patch to linux-yocto.
There was a problem hiding this comment.
No. Supporting EL2 is not just the DT, it might require driver changes, etc.
We should have all the mechanisms to have DTs supported by qcom-6.18 / qcom-next but not by linux-yocto.
There was a problem hiding this comment.
From a kernel build perspective, meta-qcom already supports selecting DTB/DTBOs per kernel. However, the FIT_DTB_COMPATIBLE mapping is common for all. Should we now consider splitting FIT_DTB_COMPATIBLE per kernel? Without doing so, we will not be able to map different DTB/DTBO sets to the same compatible string.
Alternatively, we may need to introduce a new substring, say 'gunyah' so that only the base DTB can selected, without the EL2 DTBO.
There was a problem hiding this comment.
I think FIT_DTB_COMPATIBLE should remain common. In the end, the list of the DTBs for each feature should not depend on the kernel version. The list of DTBs available, might, but it's already handled.
There was a problem hiding this comment.
What if the user selects el2gh while we flashed xbl_config_kvm?
There was a problem hiding this comment.
This can happen even with current implementation. This PR's goal is to switch the default from Gunyah to KVM. IMO, mismatch b/w DTBO and xbl_config needs a separate discussion.
There was a problem hiding this comment.
What if the user selects el2gh while we flashed
xbl_config_kvm?
We tried on hamoa, if we don't use uefi_dtbs_kvm.xz and el2 dtbo together, there will be bootup issue.
There was a problem hiding this comment.
Do we stand a chance of the firmware reporting the selected xbl_config without requiring a manual intervention from the user side?
There was a problem hiding this comment.
Current firmware don't have this support. Need to request boot firmware team for this feature.
2e959cf to
da57295
Compare
da57295 to
01b1d38
Compare
Test Results 103 files ± 0 632 suites - 1 7h 2m 6s ⏱️ - 1h 57m 39s For more details on these failures, see this check. Results for commit c9b9485. ± Comparison against base commit e156427. This pull request removes 5 and adds 5 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
|
Using MACHINE_FEATURES for to KVM enablement is now part of #2289. This PR only focuses switching Lemans platforms to default KVM. |
01b1d38 to
c58dd22
Compare
|
bootup failure on Rb8 https://lava.infra.foundries.io/scheduler/job/231031 |
Thanks for proactively checking. This PR is dependent on #2289 for picking correct XBL config. Please wait till final reviews before reporting further failures. |
c58dd22 to
ca6c819
Compare
ca6c819 to
5fefdff
Compare
Again, how does one guess that, if you don't write it in the PR description? |
This is RFC draft PR to seek inputs on default KVM enablement. I wasn't really expecting test teams monitoring it. There is even a comment saying the PR is broken into two. |
5fefdff to
14107c6
Compare
Enable KVM by default on iq-9075-evk by adding 'kvm' to MACHINE_FEATURES. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Enable KVM by default on qcs9100-ride-sx by adding 'kvm' to MACHINE_FEATURES. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
For linux-qcom kernels update FIT_DTB_COMPATIBLE entries of Lemans platforms to use lemans-el2.dtbo by default, enabling KVM. Replace el2kvm-specific compatible strings with default variants to align with the KVM-by-default behavior. Update non-EL2 entries to use `el2gh` substring in compatible strings, indicating mapping to the Gunyah hypervisor. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
KVM is now enabled by default on iq-9075-evk, making the dedicated KVM build is redundent. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Enable KVM by default on iq-8275-evk by adding 'kvm' to MACHINE_FEATURES. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Enable KVM by default on qcs8300-ride-sx by adding 'kvm' to MACHINE_FEATURES. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Update FIT_DTB_COMPATIBLE entries for Monaco platforms to use monaco-el2.dtbo by default, enabling KVM configurations. Replace el2kvm-specific compatible strings with default variants to align with the KVM-by-default behavior. Update non-EL2 entries to use `el2gh` substring in compatible strings, indicating mapping to the Gunyah hypervisor. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
KVM is now enabled by default on iq-8275-evk, making the dedicated KVM build is redundent. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
01bee10 to
f64c896
Compare
|
Viswanath Kraleti (@vkraleti) both monaco and lemans failed to boot on lava. |
Without qualcomm-linux/meta-qcom-distro#314, To resolve this, we have two options:
|
Yeah, we could do in 2 steps, first as machine features and later as combined, once merged. |
Avoid hardcoding XBL configuration logic in image_types_qcom, which limits flexibility for per-board virtualization control. Define QCOM_XBL_CONFIG in qcom-common.inc to select the appropriate XBL config based on MACHINE_FEATURES. This enables consistent KVM selection while allowing machine-level overrides when required. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Adjust CI to handle removal of qcom-distro-kvm configuration in meta-qcom-distro, where KVM is now enabled by default. Replace usage of the qcom-distro-kvm distro with explicit addition of `kvm` to MACHINE_FEATURES to retain KVM-enabled builds during the transition. This is a temporary workaround until CI fully adopts the new KVM-by-default model. Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
f64c896 to
c9b9485
Compare
Thanks for the confirmation. I’ve updated the PR. With this change, all targets should now boot as expected. |
|
Lava job links for retriggered tests, that failed to start in 1st run due to download timeouts. Display: Audio: |
4564816
into
qualcomm-linux:master
|
Git push to origin failed for wrynose with exitcode 1 |
|
sbanerjeeqc Viswanath Kraleti (@vkraleti) |
All PILs are functioning correctly and KVM can be enabled by default on Lemans and Monaco platforms.
Update FIT_DTB_COMPATIBLE entries and machine configurations to switch to default KVM for these boards.