[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 7/7] xen/arm: introduce xen-evtchn dom0less property


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Wed, 7 Sep 2022 08:12:01 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zN3M3oye3PQVSKA1Cv6n60rXXNpSR1XlSdPnXzHG6Ao=; b=a8gT03YaN8ylc8yarGM2kwg5rBouLH73xU3q8PNtKd3bzXB3JaGfvUIwOx2ibKfEe3+5voSAYlZ+JnwhfYNNJZwpZu3I9GDmokUjErBCxkH+/xzV1o4Y0C0n3AH0vgqSf4o5MQupf2c3Of0vsF9nixau+R4H7c4ZYdduEKfIlJGop/CI0CYZ+S/CgeehHMSrq86brVu8rPRVzDJ7AZB32f1W9B5HL90LpnmzjVZQ1cZ+S7ZphTgzLbqKFOnFGWZn8pTiKFZ5aTM7X4CvPfz3lGQc92NvHvsTlh6otEj+W0vMQ6sRL4rxNdfVcCQitxWPi+PDlomGcbZ46mG4CuVU1g==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zN3M3oye3PQVSKA1Cv6n60rXXNpSR1XlSdPnXzHG6Ao=; b=haEGYez9eyZLFyIODD2jgToxXpVQY/ndvdmv2ULRd6qT062sUy7pcZ/AUihQZm1JrfvleM+PrOUd1fbp5XH934aHRPwLXnwUpXK3KhQMkHnP9RcLG5Abnh8Tq9io5YiHUDd4CwC+6VK9JANuVR5lUiPoyekM0wrpE8xMjQHv5e05n1PrfWBMrsIjT4R+3V8ep85goovUNC1ZgjPdd0ziY01OTo5XzKo5gXGTQVaxk+X9M7m+oJbsjAurlUFqTxsqbeEmXAiYxFNjGsTkmhBqLyjGnrYlygegf78jQvxtI0Tfr4Bvukvdkucc3aacEC792YRGQDSb/MkyNjoQAw7MTA==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Eby+4Hp1JFq7DxqTCrehLhuQ0huEYv0eHU5qtw5fHNapPbhLxD/j6mwjeZKkwQj+xnKwovvEDBiskYX4eaDel6bcB2idDszm63iVmfXfL2hK82CkMZaANKlm9ZNy/po5psE/Dkwqq0hojSxPpq3hszGQjYBZHQdvI71bs0ztorpckzedtBTY/HM8JXAGrFJ1CzPfoBaTcfhmYSG6pqO+FZf4TvJoonSCFvckh3veQnzUgyPrUh8nvus8tElVgbvRxeBdHHeYl9I2Dz9f3iHlJqkdsLyPIF0TzT072+00bJHd35YxHNnJs3N3O1y+1KQnY52SlT1nGPhnmPG0B4/fNw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TEIczkK3QYFu0Nl2f3Lk+Kqq3cfvMNyOOHIzOBTz3a8qbFqqj+etgSJYDQzmaP2ZOnh4SNKxWIOQsKvi0waFhhBF+KCI4kOckfUkazcET5UD3BbwnoSAxsfZwIkJqBPxQstgIgW+B5KjIxjMk/9SVBnlnEaFrFmK8C/1nv1jo5ewBtWJeeG7DwI4AUv8TPqLJXi0VY3H8kg49jH+A0LFkLZqrnoao2quuAgjvbL0MV/wYPfBS6Dp0JLmM66yLMdYRbdyp6ynHg+SetP2O5mdYT1McbXAOW7beaYt4sN1KJBhMUOpAT2GhQWge1wARH/jCg8gvAFpb501M+OLFafOJQ==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 07 Sep 2022 08:12:27 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHYwfa20pSXFn7Dg0K43MnT8B+Nhq3S+mGAgACkswA=
  • Thread-topic: [PATCH v4 7/7] xen/arm: introduce xen-evtchn dom0less property

Hi Stefano,

> On 6 Sep 2022, at 11:22 pm, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote:
> 
> On Tue, 6 Sep 2022, Rahul Singh wrote:
>> Introduce a new sub-node under /chosen node to establish static event
>> channel communication between domains on dom0less systems.
>> 
>> An event channel will be created beforehand to allow the domains to
>> send notifications to each other.
>> 
>> Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
>> ---
>> Changes in v4:
>> - move documentation to common place for evtchn node in booting.txt
>> - Add comment why we use dt_device_static_evtchn_created()
>> - check if dt_get_parent() returns NULL
>> - fold process_static_evtchn_node() in alloc_static_evtchn()
>> Changes in v3:
>> - use device-tree used_by to find the domain id of the evtchn node.
>> - add new static_evtchn_create variable in struct dt_device_node to
>>   hold the information if evtchn is already created.
>> - fix minor comments
>> Changes in v2:
>> - no change
>> ---
>> docs/misc/arm/device-tree/booting.txt |  98 +++++++++++++++++
> 
> I have just reviewed the binding, only three minor comments below.
> Everything looks good.

Thanks for reviewing the code.
> 
> 
>> xen/arch/arm/domain_build.c           | 147 ++++++++++++++++++++++++++
>> xen/arch/arm/include/asm/setup.h      |   1 +
>> xen/arch/arm/setup.c                  |   2 +
>> xen/include/xen/device_tree.h         |  16 +++
>> 5 files changed, 264 insertions(+)
>> 
>> diff --git a/docs/misc/arm/device-tree/booting.txt 
>> b/docs/misc/arm/device-tree/booting.txt
>> index 1b0dca1454..c8329b73e5 100644
>> --- a/docs/misc/arm/device-tree/booting.txt
>> +++ b/docs/misc/arm/device-tree/booting.txt
>> @@ -382,3 +382,101 @@ device-tree:
>> 
>> This will reserve a 512MB region starting at the host physical address
>> 0x30000000 to be exclusively used by DomU1.
>> +
>> +Static Event Channel
>> +====================
>> +The event channel communication will be established statically between two
>> +domains (dom0 and domU also). Event channel connection information between
>> +domains will be passed to Xen via the device tree node. The event channel
>> +will be created and established in Xen before the domain started. The domain
>> +doesn???t need to do any operation to establish a connection. Domain only
> 
> doesn't
> 
> better to use ASCII if possible

Ack.
> 
> 
>> +needs hypercall EVTCHNOP_send(local port) to send notifications to the
>> +remote guest.
>> +
>> +There is no need to describe the static event channel info in the domU 
>> device
>> +tree. Static event channels are only useful in fully static configurations,
>> +and in those configurations, the domU device tree dynamically generated by 
>> Xen
>> +is not needed.
>> +
>> +To enable the event-channel interface for domU guests include the
>> +"xen,enhanced = "no-xenstore"" property in the domU Xen device tree node.
> 
> double ""

Ack. 
> 
> 
>> +
>> +Under the "xen,domain" compatible node for domU, there needs to be sub-nodes
>> +with compatible "xen,evtchn" that describe the event channel connection
>> +between two domUs. For dom0, there needs to be sub-nodes with compatible
>> +"xen,evtchn" under the chosen node.
>> +
>> +The static event channel node has the following properties:
>> +
>> +- compatible
>> +
>> +    "xen,evtchn"
>> +
>> +- xen,evtchn
>> +
>> +    The property is tuples of two numbers
>> +    (local-evtchn link-to-foreign-evtchn) where:
>> +
>> +    local-evtchn is an integer value that will be used to allocate local 
>> port
>> +    for a domain to send and receive event notifications to/from the remote
>> +    domain. Maximum supported value is 2^17 for FIFO ABI and 4096 for 2L 
>> ABI.
>> +    It is recommended to use low event channel IDs.
>> +
>> +    link-to-foreign-evtchn is a single phandle to a remote evtchn to which
>> +    local-evtchn will be connected.
>> +
>> +Example
>> +=======
>> +
>> +chosen {
>> +
>> +    /* one sub-node per local event channel */
> 
> It would be good to say that this is for dom0 in the comment, e.g.:
> 
> /* this is for Dom0 */

Ack.

Regards,
Rahul




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.