[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1752640932-23038-1-git-send-email-hargar@linux.microsoft.com>
Date: Tue, 15 Jul 2025 21:42:12 -0700
From: Hardik Garg <hargar@...ux.microsoft.com>
To: krzk@...nel.org
Cc: apais@...rosoft.com,
conor+dt@...nel.org,
decui@...rosoft.com,
devicetree@...r.kernel.org,
haiyangz@...rosoft.com,
hargar@...ux.microsoft.com,
hargar@...rosoft.com,
krzk+dt@...nel.org,
kys@...rosoft.com,
linux-hyperv@...r.kernel.org,
linux-kernel@...r.kernel.org,
robh@...nel.org,
ssengar@...ux.microsoft.com,
wei.liu@...nel.org
Subject: Re: [PATCH v4 1/2] dt-bindings: microsoft: Add vmbus message-connection-id property
>>>> What is a connection ID and why it cannot be inferred from existing
>>>> system API?
>> The connection-id determines which hypervisor communication channel the
>> guest should use to talk to the VMBus host. Reading from DeviceTree allows
>> platforms to specify their preferred communication channel, making it more
>> flexible (I will add this detail in the commit message). Presently, this
>> We don't add properties to make things flexible.
You're right. I should have explained better. The connection ID is a hardware
configuration detail that defines which specific VMBus channel is used for
host-guest communication. This value is configured by the host and passed to
the guest through the host's device tree. Different hypervisor versions and
configurations may require different channels, and this needs to be specified
by the platform.
>>>> There's a reason why you have here generic property - this is generic
>>>> and/or discoverable and/or whatever software interface. Adding now more
>>>> properties, just because you made it generic, is not the way.
>> Presently the value is hardcoded and we want to provide a functionality to
>> the user to specify their prefered communication channel. This is a
>> virtualized hardware property for us.
>> That's not really acceptable reason. With such approach I would add 100
>> properties to make various things "flexible".
I understand your concern. Let me clarify: this isn't about making things
flexible for flexibility's sake. The connection ID is a fundamental hardware
configuration parameter that is set by the host and must be matched in the
guest. The host configures this value in its device tree and shares it with
the guest. Without the correct channel ID, the VMBus communication fails.
Different hypervisor configurations require different channels, and this
cannot be automatically discovered.
Would you prefer if we handled this configuration through a different
mechanism? I'm open to suggestions.
Thanks,
Hardik
Powered by blists - more mailing lists