Skip to content

PCI_MSI_2 skips MSI-only endpoints in Linux vector uniqueness test #528

Description

@chetan-rathore

The PCI_MSI_2 rule applies to MSI(-X), so endpoints that support MSI only should be valid targets for the test.
In the current Linux ACS implementation, the vector uniqueness test appears to skip MSI-only endpoints because the capability check requires both MSI-X and MSI capability discovery to pass before the device is considered.
Current behavior:

  • Endpoint supports MSI only.
  • Endpoint does not support MSI-X.
  • PCI_MSI_2 skips the device.
  • Test may report no MSI vectors found / skip, even though an MSI-capable endpoint is present.
    Expected behavior:
  • PCI_MSI_2 should accept endpoints that support either MSI or MSI-X.
  • MSI-only endpoints should be included in the vector uniqueness validation.
  • The test should skip only devices that support neither MSI nor MSI-X.
    Suggested fix:
  • Update the capability check so the device is skipped only when both MSI-X and MSI capabilities are absent.
  • Ensure the Linux PAL vector read path continues to handle both MSI-X table entries and MSI capability registers.
    Impact:
  • MSI-only platforms cannot currently obtain automated ACS coverage for PCI_MSI_2.
  • Such platforms may need manual validation until this is fixed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions