Re: git: 15e7fa83ef3c - main - arm64: Hyper-V: Add vPCI and Mellanox driver modules into build
Date: Tue, 14 Mar 2023 04:30:20 UTC
On 14 Mar 2023, at 04:22, Wei Hu <weh@microsoft.com> wrote: > > > >> -----Original Message----- >> From: Jessica Clarke <jrtc27@freebsd.org> >> Sent: Tuesday, March 14, 2023 12:04 PM >> To: Wei Hu <whu@FreeBSD.org> >> Cc: src-committers@freebsd.org; dev-commits-src-all@freebsd.org; dev- >> commits-src-main@freebsd.org >> Subject: Re: git: 15e7fa83ef3c - main - arm64: Hyper-V: Add vPCI and >> Mellanox driver modules into build >> >> On 14 Mar 2023, at 03:57, Jessica Clarke <jrtc27@FreeBSD.org> wrote: >>> >>> On 13 Mar 2023, at 03:00, Wei Hu <whu@FreeBSD.org> wrote: >>>> >>>> The branch main has been updated by whu: >>>> >>>> URL: >>>> >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcgi >>>> >> t.freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D15e7fa83ef3cd909e1d1b3b2ca >> da8d >>>> >> 9073f2e22e&data=05%7C01%7Cweh%40microsoft.com%7Ce49561fcb0054db >> 78cfc0 >>>> >> 8db244136f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6381436 >> 34775 >>>> >> 142011%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2 >> luMzIiLC >>>> >> JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Ne98uGxwYg >> CfWaRPct >>>> 8KCG%2FBEcwSf0HmjmcuW7Rx0FU%3D&reserved=0 >>>> >>>> commit 15e7fa83ef3cd909e1d1b3b2cada8d9073f2e22e >>>> Author: Wei Hu <whu@FreeBSD.org> >>>> AuthorDate: 2023-03-13 02:55:04 +0000 >>>> Commit: Wei Hu <whu@FreeBSD.org> >>>> CommitDate: 2023-03-13 02:55:04 +0000 >>>> >>>> arm64: Hyper-V: Add vPCI and Mellanox driver modules into build >>> >>> What does Mellanox have to do with Hyper-V? I doubt it's being emulated. >> >> I guess because Azure Accelerated Networking has Mellanox hardware. In >> which case it doesn't belong in std.hyperv, it belongs in std.azure, as >> std.hyperv is for things needed for Hyper-V, not platforms that happen to >> use Hyper-V. > > Hyper-V supports SRIOV devices. For now Mellanox NICs is the only NIC type supported. So? Hyper-V still isn’t giving you a Mellanox NIC, you have to go buy one or use a platform (Azure) that has one; Azure is the justification, not Hyper-V. > Mellanox drivers were not included in the ARM64 build. We have tested it on Hyper-V > during the ARM64 for Hyper-V enablement effort, with Hyper-V VPCI driver. We have > not tested it on the other ARM64 platforms. It should work not only in Azure, > but also in on-prem ARM64 Hyper-V hosts. Well it’s in GENERIC now given that includes std.hyperv... > It's better to move Mellanox drivers to more general build location once they are tested > on more ARM64 platforms. > > Wei > >> >> Jess >> >>>> These changes in conf and std.hyperv files got missed in previous commit. >>>> Reviewed by: whu >>>> Tested by: whu >>>> Obtained from: Souradeep Chakrabarti <schakrabarti@microsoft.com> >>>> Sponsored by: Microsoft >>>> Differential Revision: >>>> >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Frev >>>> >> iews.freebsd.org%2FD38529&data=05%7C01%7Cweh%40microsoft.com%7C >> e49561 >>>> >> fcb0054db78cfc08db244136f1%7C72f988bf86f141af91ab2d7cd011db47%7C1% >> 7C0 >>>> %7C638143634775142011%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w >> LjAwMDAiLCJ >>>> >> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdat >> a=Yu% >>>> 2BY%2FyEVCjC6dj8UKY6pYeVy%2BAsgxar5DBC9XQlexYo%3D&reserved=0 >>>> --- >>>> sys/arm64/conf/std.hyperv | 12 +++++++++++- >>>> sys/conf/files.arm64 | 1 + >>>> 2 files changed, 12 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/sys/arm64/conf/std.hyperv b/sys/arm64/conf/std.hyperv >>>> index f87082f15c96..b742c75da131 100644 >>>> --- a/sys/arm64/conf/std.hyperv >>>> +++ b/sys/arm64/conf/std.hyperv >>>> @@ -3,4 +3,14 @@ >>>> # >>>> >>>> #hyper-v support >>>> -device hyperv >>>> +device hyperv >>>> + >>>> +options COMPAT_LINUXKPI >>>> +device xz >>>> + >>>> +device mlx5 >>>> +device mlxfw >>>> +device mlx5en >>>> +options RATELIMIT As pointed out on IRC, no other kernel config, aside from LINT ones, enables this. Therefore this seems pretty dubious to add; why does arm64 need it whilst amd64, which does include Mellanox drivers in its GENERIC, doesn’t need it? Jess >>>> +options KERN_TLS >>>> +device firmware >>>> diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index >>>> 684cb8cb23ba..22dd267b2b42 100644 >>>> --- a/sys/conf/files.arm64 >>>> +++ b/sys/conf/files.arm64 >>>> @@ -253,6 +253,7 @@ dev/hyperv/utilities/hv_kvp.c >> optional hyperv acpi >>>> dev/hyperv/netvsc/hn_nvs.c optional hyperv acpi >>>> dev/hyperv/netvsc/hn_rndis.c optional hyperv acpi >>>> dev/hyperv/netvsc/if_hn.c optional hyperv acpi >>>> +dev/hyperv/pcib/vmbus_pcib.c optional hyperv pci >> acpi >>>> >>>> dev/ice/if_ice_iflib.c optional ice pci \ >>>> compile-with "${NORMAL_C} -I$S/dev/ice" >>> >