Page MenuHomeFreeBSD

Enabling v-PCI in FreeBSD in ARM64 Hyper-V second patch
ClosedPublic

Authored by schakrabarti_microsoft.com on Jan 5 2023, 5:28 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 28, 9:43 PM
Unknown Object (File)
Dec 20 2023, 8:33 AM
Unknown Object (File)
Dec 10 2023, 5:53 PM
Unknown Object (File)
Nov 14 2023, 9:42 AM
Unknown Object (File)
Nov 9 2023, 7:59 PM
Unknown Object (File)
Nov 7 2023, 1:03 PM
Unknown Object (File)
Nov 6 2023, 7:39 AM
Unknown Object (File)
Oct 13 2023, 8:25 AM

Details

Summary

This patch does remaining enablement in hyperv vpci driver to work on arm64 Hyper-V.
For that it required to use PCI protocol 1.4 and corresponding different PCI message handling.
Also new MSI allocation, MSI-X mapping, release.

Test Plan

Tested on Hyper-V x86 gen1, gen2 and ARM64 gen2.

Diff Detail

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

Event Timeline

kpraveen.lkml_gmail.com added inline comments.
sys/dev/hyperv/pcib/vmbus_pcib.c
168

Can we reorder this

PCI_PROTOCOL_VERSION_1_1,
PCI_PROTOCOL_VERSION_1_4
1909

Can we just put like this below and other places as applicable

#if defined(__aarch64__)
	return (intr_alloc_msi(pcib, dev, ACPI_MSI_XREF, count, maxcount, irqs));
#else
	return (PCIB_ALLOC_MSI(device_get_parent(pcib), dev, count, maxcount,
	    irqs));
#endif
schakrabarti_microsoft.com added inline comments.
sys/dev/hyperv/pcib/vmbus_pcib.c
168

This is intentional, to have PCI_PROTOCOL_VERSION_1_4 to be negotiated before PCI_PROTOCOL_VERSION_1_1.

There are some style changes which I will correct when commit.

This revision is now accepted and ready to land.Feb 1 2023, 4:45 PM