Page MenuHomeFreeBSD

pcib: Allocate the memory BAR with the MSI-X table.
ClosedPublic

Authored by jhb on Jun 16 2023, 8:47 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 19, 12:31 AM
Unknown Object (File)
Sun, May 19, 12:21 AM
Unknown Object (File)
Sat, May 11, 2:54 PM
Unknown Object (File)
Apr 13 2024, 9:01 AM
Unknown Object (File)
Feb 22 2024, 2:57 AM
Unknown Object (File)
Dec 20 2023, 4:07 AM
Unknown Object (File)
Dec 12 2023, 4:24 AM
Unknown Object (File)
Nov 21 2023, 5:32 AM
Subscribers
None

Details

Summary

This is required for pci_alloc_msix() to work and to thus use
MSI-X interrupts for PCI-e hotplug.

Reported by: cperciva

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb requested review of this revision.Jun 16 2023, 8:47 PM
jhb created this revision.

FWIW, this makes it possible for an ena device attached to a PCIe hotplug port to attach, but it's getting watchdog timeouts so there's something else going on which might or might not be related to PCIe/MSIX.

I'm pretty sure that Colin's unique device is the first PCI-e HP bridge that supports MSI-X but not MSI. We have probably just always been falling back to MSI before without anyone noticing.

FWIW, this makes it possible for an ena device attached to a PCIe hotplug port to attach, but it's getting watchdog timeouts so there's something else going on which might or might not be related to PCIe/MSIX.

It sounds like the "something else going on" is a hypervisor bug which is being fixed separately. So as far as FreeBSD is concerned the patch we have here should be the only thing we need.

Is this MFCable? It breaks ABI but it's an ABI in pcib_private.h which maybe we don't care about that?

This revision is now accepted and ready to land.Jun 17 2023, 4:25 AM

It is definitely MFCable, the pcib softc is not a public KBI.