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.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-static
subpackages, etc.) have had theirRelease
tag incremented../cgmanifest.json
,./toolkit/scripts/toolchain/cgmanifest.json
,.github/workflows/cgmanifest.json
)./LICENSES-AND-NOTICES/SPECS/data/licenses.json
,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON
)*.signatures.json
filessudo make go-tidy-all
andsudo make go-test-coverage
passSummary
Bug fix.
Change PCI_HYPERV to be builtin. This also requires PCI_HYPERV_INTERFACE to be builtin as well. PCI_HYPERV was previously loaded as a module but it results in race conditions when devices are mapped and unmapped. AzureLinux is already starting to access PCIe Devices, when the MMIO mappings from UEFI haven't been fully torn down yet. That causes conflicts, which shows up as missing disks to the customer. If AzureLinux has hyperv pci built into the kernel, then that changes the load ordering of the drivers in the kernel, which has the desired side-effect that UEFI mappings get torn down before the AzureLinux creates net mappings.
For example lsblk for certain SKUs were not seeing all NVMe devices
Kconfig
PCI_HYPERV_INTERFACE Kconfig
Change Log
Does this affect the toolchain?
YES
Associated issues
Test Methodology
BuddyBuild
-> AKS Image
---> aks perf
---> aks conf - 100% pass
AMD Stage 0 ... Stage 3
-> Lisa image
---> Lisa Tests - 100% pass
ARM Stage 3
-> Lisa image
---> Lisa Tests - 100% pass
Booted on AMD
Booted on ARM