All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Elliot Berman <quic_eberman@quicinc.com>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Murali Nalajala <quic_mnalajal@quicinc.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Srivatsa Vaddagiri <quic_svaddagi@quicinc.com>,
	Carl van Schaik <quic_cvanscha@quicinc.com>,
	Andy Gross <agross@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Marc Zyngier <maz@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Jonathan Corbet <corbet@lwn.net>, Will Deacon <will@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v2 00/11] Drivers for gunyah hypervisor
Date: Tue, 9 Aug 2022 14:13:49 +0100	[thread overview]
Message-ID: <a71bea49-130f-61d8-2692-23ab9a8fe939@arm.com> (raw)
In-Reply-To: <62073cb8-0211-3b49-11cb-aceea6df0845@quicinc.com>

[drive-by observation since one thing caught my interest...]

On 2022-08-09 00:38, Elliot Berman wrote:
>> I might be completely wrong about this, but if my in-mind picture of 
>> Gunyah is correct, I'd have implemented the gunyah core subsytem as 
>> mailbox provider, RM as a separate platform driver consuming these 
>> mailboxes and in turn being a remoteproc driver, and consoles as 
>> remoteproc subdevices. >
> 
> The mailbox framework can only fit with message queues and not doorbells 
> or vCPUs.

Is that so? There was a whole long drawn-out saga around the SCMI 
protocol using the Arm MHU mailbox as a set of doorbells for 
shared-memory payloads, but it did eventually get merged as the separate 
arm_mhu_db.c driver, so unless we're talking about some completely 
different notion of "doorbell"... :/

> The mailbox framework also relies on the mailbox being defined 
> in the devicetree. RM is an exceptional case in that it is described in 
> the devicetree. Message queues for other VMs would be dynamically 
> created at runtime as/when that VM is created. Thus, the client of the 
> message queue would need to "own" both the controller and client ends of 
> the mailbox.

FWIW, if the mailbox API does fit conceptually then it looks like it 
shouldn't be *too* hard to better abstract the DT details in the 
framework itself and allow providers to offer additional means to 
validate channel requests, which might be more productive than inventing 
a whole new thing.

Thanks,
Robin.

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Elliot Berman <quic_eberman@quicinc.com>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Murali Nalajala <quic_mnalajal@quicinc.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Srivatsa Vaddagiri <quic_svaddagi@quicinc.com>,
	Carl van Schaik <quic_cvanscha@quicinc.com>,
	Andy Gross <agross@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Marc Zyngier <maz@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Jonathan Corbet <corbet@lwn.net>, Will Deacon <will@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v2 00/11] Drivers for gunyah hypervisor
Date: Tue, 9 Aug 2022 14:13:49 +0100	[thread overview]
Message-ID: <a71bea49-130f-61d8-2692-23ab9a8fe939@arm.com> (raw)
In-Reply-To: <62073cb8-0211-3b49-11cb-aceea6df0845@quicinc.com>

[drive-by observation since one thing caught my interest...]

On 2022-08-09 00:38, Elliot Berman wrote:
>> I might be completely wrong about this, but if my in-mind picture of 
>> Gunyah is correct, I'd have implemented the gunyah core subsytem as 
>> mailbox provider, RM as a separate platform driver consuming these 
>> mailboxes and in turn being a remoteproc driver, and consoles as 
>> remoteproc subdevices. >
> 
> The mailbox framework can only fit with message queues and not doorbells 
> or vCPUs.

Is that so? There was a whole long drawn-out saga around the SCMI 
protocol using the Arm MHU mailbox as a set of doorbells for 
shared-memory payloads, but it did eventually get merged as the separate 
arm_mhu_db.c driver, so unless we're talking about some completely 
different notion of "doorbell"... :/

> The mailbox framework also relies on the mailbox being defined 
> in the devicetree. RM is an exceptional case in that it is described in 
> the devicetree. Message queues for other VMs would be dynamically 
> created at runtime as/when that VM is created. Thus, the client of the 
> message queue would need to "own" both the controller and client ends of 
> the mailbox.

FWIW, if the mailbox API does fit conceptually then it looks like it 
shouldn't be *too* hard to better abstract the DT details in the 
framework itself and allow providers to offer additional means to 
validate channel requests, which might be more productive than inventing 
a whole new thing.

Thanks,
Robin.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-08-09 13:14 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-01 21:12 [PATCH v2 00/11] Drivers for gunyah hypervisor Elliot Berman
2022-08-01 21:12 ` Elliot Berman
2022-08-01 21:12 ` [PATCH v2 01/11] docs: gunyah: Introduce Gunyah Hypervisor Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-01 21:29   ` Jeffrey Hugo
2022-08-01 21:29     ` Jeffrey Hugo
2022-08-05  3:18   ` Bagas Sanjaya
2022-08-05  3:18     ` Bagas Sanjaya
2022-08-05 15:48     ` Elliot Berman
2022-08-05 15:48       ` Elliot Berman
2022-08-06 15:31   ` kernel test robot
2022-08-06 15:31     ` kernel test robot
2022-08-01 21:12 ` [PATCH v2 02/11] dt-bindings: Add binding for gunyah hypervisor Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  7:28   ` Dmitry Baryshkov
2022-08-02  7:28     ` Dmitry Baryshkov
2022-08-02 10:54   ` Krzysztof Kozlowski
2022-08-02 10:54     ` Krzysztof Kozlowski
2022-08-01 21:12 ` [PATCH v2 03/11] arm64: gunyah: Add Gunyah hypercalls ABI Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02 13:34   ` Dmitry Baryshkov
2022-08-02 13:34     ` Dmitry Baryshkov
2022-08-03 21:15     ` Elliot Berman
2022-08-03 21:15       ` Elliot Berman
2022-08-04  7:04       ` Dmitry Baryshkov
2022-08-04  7:04         ` Dmitry Baryshkov
2022-08-01 21:12 ` [PATCH v2 04/11] gunyah: Common types and error codes for Gunyah hypercalls Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  7:33   ` Dmitry Baryshkov
2022-08-02  7:33     ` Dmitry Baryshkov
2022-08-03 21:16     ` Elliot Berman
2022-08-03 21:16       ` Elliot Berman
2022-08-02  7:51   ` Dmitry Baryshkov
2022-08-02  7:51     ` Dmitry Baryshkov
2022-08-03 21:16     ` Elliot Berman
2022-08-03 21:16       ` Elliot Berman
2022-08-01 21:12 ` [PATCH v2 05/11] virt: gunyah: Add sysfs nodes Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  7:42   ` Dmitry Baryshkov
2022-08-02  7:42     ` Dmitry Baryshkov
2022-08-01 21:12 ` [PATCH v2 06/11] virt: gunyah: Add capabilities bus and devices Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  8:20   ` Dmitry Baryshkov
2022-08-02  8:20     ` Dmitry Baryshkov
2022-08-01 21:12 ` [PATCH v2 07/11] gunyah: msgq: Add Gunyah message queues Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  8:14   ` Dmitry Baryshkov
2022-08-02  8:14     ` Dmitry Baryshkov
2022-08-08 22:22     ` Elliot Berman
2022-08-08 22:22       ` Elliot Berman
2022-08-09 11:29       ` Marc Zyngier
2022-08-09 16:50         ` Elliot Berman
2022-08-09 16:50           ` Elliot Berman
2022-08-23  7:57           ` Dmitry Baryshkov
2022-08-23  7:57             ` Dmitry Baryshkov
2022-08-01 21:12 ` [PATCH v2 08/11] gunyah: rsc_mgr: Add resource manager RPC core Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-01 21:12 ` [PATCH v2 09/11] gunyah: rsc_mgr: Add auxiliary devices for console Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  8:38   ` Dmitry Baryshkov
2022-08-02  8:38     ` Dmitry Baryshkov
2022-08-03 21:19     ` Elliot Berman
2022-08-03 21:19       ` Elliot Berman
2022-08-01 21:12 ` [PATCH v2 10/11] gunyah: rsc_mgr: Add RPC for console services Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-01 21:12 ` [PATCH v2 11/11] gunyah: Add tty console driver for RM Console Serivces Elliot Berman
2022-08-01 21:12   ` Elliot Berman
2022-08-02  8:31   ` Dmitry Baryshkov
2022-08-02  8:31     ` Dmitry Baryshkov
2022-08-03 21:15     ` Elliot Berman
2022-08-03 21:15       ` Elliot Berman
2022-08-01 21:27 ` [PATCH v2 00/11] Drivers for gunyah hypervisor Jeffrey Hugo
2022-08-01 21:27   ` Jeffrey Hugo
2022-08-01 21:31   ` Elliot Berman
2022-08-01 21:31     ` Elliot Berman
2022-08-02  9:24 ` Dmitry Baryshkov
2022-08-02  9:24   ` Dmitry Baryshkov
2022-08-08 23:38   ` Elliot Berman
2022-08-08 23:38     ` Elliot Berman
2022-08-09 13:13     ` Robin Murphy [this message]
2022-08-09 13:13       ` Robin Murphy
2022-08-10  0:07       ` Elliot Berman
2022-08-10  0:07         ` Elliot Berman
2022-08-10  4:12         ` Jassi Brar
2022-08-10  4:12           ` Jassi Brar
2022-08-18 18:10           ` Elliot Berman
2022-08-18 18:10             ` Elliot Berman
2022-08-23  8:01     ` Dmitry Baryshkov
2022-08-23  8:01       ` Dmitry Baryshkov
2022-08-04  8:26 ` Bagas Sanjaya
2022-08-04  8:26   ` Bagas Sanjaya
2022-08-04 21:48   ` Elliot Berman
2022-08-04 21:48     ` Elliot Berman
2022-08-05  2:15     ` Bagas Sanjaya
2022-08-05  2:15       ` Bagas Sanjaya
2022-08-05  7:45       ` Marc Zyngier
2022-08-05  7:45         ` Marc Zyngier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a71bea49-130f-61d8-2692-23ab9a8fe939@arm.com \
    --to=robin.murphy@arm.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=maz@kernel.org \
    --cc=quic_cvanscha@quicinc.com \
    --cc=quic_eberman@quicinc.com \
    --cc=quic_mnalajal@quicinc.com \
    --cc=quic_svaddagi@quicinc.com \
    --cc=quic_tsoni@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=sudeep.holla@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.