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"
>>>
>