From: Alex Elder <elder@linaro.org> To: Elliot Berman <quic_eberman@quicinc.com>, Srinivas Kandagatla <srinivas.kandagatla@linaro.org>, Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.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>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Arnd Bergmann <arnd@arndb.de>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Jonathan Corbet <corbet@lwn.net>, Bagas Sanjaya <bagasdotme@gmail.com>, Andy Gross <agross@kernel.org>, Jassi Brar <jassisinghbrar@gmail.com>, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v13 21/24] virt: gunyah: Add hypercalls for sending doorbell Date: Mon, 5 Jun 2023 14:50:22 -0500 [thread overview] Message-ID: <c34b96cb-efc9-c6aa-78bf-4b1adc407254@linaro.org> (raw) In-Reply-To: <20230509204801.2824351-22-quic_eberman@quicinc.com> On 5/9/23 3:47 PM, Elliot Berman wrote: > Gunyah doorbells allow two virtual machines to signal each other using > interrupts. Add the hypercalls needed to assert the interrupt. > > Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> Looks good. Reviewed-by: Alex Elder <elder@linaro.org> > --- > arch/arm64/gunyah/gunyah_hypercall.c | 25 +++++++++++++++++++++++++ > include/linux/gunyah.h | 3 +++ > 2 files changed, 28 insertions(+) > > diff --git a/arch/arm64/gunyah/gunyah_hypercall.c b/arch/arm64/gunyah/gunyah_hypercall.c > index 5f33f53e05a9..3d48c8650851 100644 > --- a/arch/arm64/gunyah/gunyah_hypercall.c > +++ b/arch/arm64/gunyah/gunyah_hypercall.c > @@ -33,6 +33,8 @@ EXPORT_SYMBOL_GPL(arch_is_gh_guest); > fn) > > #define GH_HYPERCALL_HYP_IDENTIFY GH_HYPERCALL(0x8000) > +#define GH_HYPERCALL_BELL_SEND GH_HYPERCALL(0x8012) > +#define GH_HYPERCALL_BELL_SET_MASK GH_HYPERCALL(0x8015) > #define GH_HYPERCALL_MSGQ_SEND GH_HYPERCALL(0x801B) > #define GH_HYPERCALL_MSGQ_RECV GH_HYPERCALL(0x801C) > #define GH_HYPERCALL_VCPU_RUN GH_HYPERCALL(0x8065) > @@ -55,6 +57,29 @@ void gh_hypercall_hyp_identify(struct gh_hypercall_hyp_identify_resp *hyp_identi > } > EXPORT_SYMBOL_GPL(gh_hypercall_hyp_identify); > > +enum gh_error gh_hypercall_bell_send(u64 capid, u64 new_flags, u64 *old_flags) > +{ > + struct arm_smccc_res res; > + > + arm_smccc_1_1_hvc(GH_HYPERCALL_BELL_SEND, capid, new_flags, 0, &res); > + > + if (res.a0 == GH_ERROR_OK && old_flags) > + *old_flags = res.a1; > + > + return res.a0; > +} > +EXPORT_SYMBOL_GPL(gh_hypercall_bell_send); > + > +enum gh_error gh_hypercall_bell_set_mask(u64 capid, u64 enable_mask, u64 ack_mask) > +{ > + struct arm_smccc_res res; > + > + arm_smccc_1_1_hvc(GH_HYPERCALL_BELL_SET_MASK, capid, enable_mask, ack_mask, 0, &res); > + > + return res.a0; > +} > +EXPORT_SYMBOL_GPL(gh_hypercall_bell_set_mask); > + > enum gh_error gh_hypercall_msgq_send(u64 capid, size_t size, void *buff, u64 tx_flags, bool *ready) > { > struct arm_smccc_res res; > diff --git a/include/linux/gunyah.h b/include/linux/gunyah.h > index cd5704a82c6a..1f1685518bf3 100644 > --- a/include/linux/gunyah.h > +++ b/include/linux/gunyah.h > @@ -171,6 +171,9 @@ static inline u16 gh_api_version(const struct gh_hypercall_hyp_identify_resp *gh > > void gh_hypercall_hyp_identify(struct gh_hypercall_hyp_identify_resp *hyp_identity); > > +enum gh_error gh_hypercall_bell_send(u64 capid, u64 new_flags, u64 *old_flags); > +enum gh_error gh_hypercall_bell_set_mask(u64 capid, u64 enable_mask, u64 ack_mask); > + > #define GH_HYPERCALL_MSGQ_TX_FLAGS_PUSH BIT(0) > > enum gh_error gh_hypercall_msgq_send(u64 capid, size_t size, void *buff, u64 tx_flags, bool *ready); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Alex Elder <elder@linaro.org> To: Elliot Berman <quic_eberman@quicinc.com>, Srinivas Kandagatla <srinivas.kandagatla@linaro.org>, Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.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>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Arnd Bergmann <arnd@arndb.de>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Jonathan Corbet <corbet@lwn.net>, Bagas Sanjaya <bagasdotme@gmail.com>, Andy Gross <agross@kernel.org>, Jassi Brar <jassisinghbrar@gmail.com>, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v13 21/24] virt: gunyah: Add hypercalls for sending doorbell Date: Mon, 5 Jun 2023 14:50:22 -0500 [thread overview] Message-ID: <c34b96cb-efc9-c6aa-78bf-4b1adc407254@linaro.org> (raw) In-Reply-To: <20230509204801.2824351-22-quic_eberman@quicinc.com> On 5/9/23 3:47 PM, Elliot Berman wrote: > Gunyah doorbells allow two virtual machines to signal each other using > interrupts. Add the hypercalls needed to assert the interrupt. > > Signed-off-by: Elliot Berman <quic_eberman@quicinc.com> Looks good. Reviewed-by: Alex Elder <elder@linaro.org> > --- > arch/arm64/gunyah/gunyah_hypercall.c | 25 +++++++++++++++++++++++++ > include/linux/gunyah.h | 3 +++ > 2 files changed, 28 insertions(+) > > diff --git a/arch/arm64/gunyah/gunyah_hypercall.c b/arch/arm64/gunyah/gunyah_hypercall.c > index 5f33f53e05a9..3d48c8650851 100644 > --- a/arch/arm64/gunyah/gunyah_hypercall.c > +++ b/arch/arm64/gunyah/gunyah_hypercall.c > @@ -33,6 +33,8 @@ EXPORT_SYMBOL_GPL(arch_is_gh_guest); > fn) > > #define GH_HYPERCALL_HYP_IDENTIFY GH_HYPERCALL(0x8000) > +#define GH_HYPERCALL_BELL_SEND GH_HYPERCALL(0x8012) > +#define GH_HYPERCALL_BELL_SET_MASK GH_HYPERCALL(0x8015) > #define GH_HYPERCALL_MSGQ_SEND GH_HYPERCALL(0x801B) > #define GH_HYPERCALL_MSGQ_RECV GH_HYPERCALL(0x801C) > #define GH_HYPERCALL_VCPU_RUN GH_HYPERCALL(0x8065) > @@ -55,6 +57,29 @@ void gh_hypercall_hyp_identify(struct gh_hypercall_hyp_identify_resp *hyp_identi > } > EXPORT_SYMBOL_GPL(gh_hypercall_hyp_identify); > > +enum gh_error gh_hypercall_bell_send(u64 capid, u64 new_flags, u64 *old_flags) > +{ > + struct arm_smccc_res res; > + > + arm_smccc_1_1_hvc(GH_HYPERCALL_BELL_SEND, capid, new_flags, 0, &res); > + > + if (res.a0 == GH_ERROR_OK && old_flags) > + *old_flags = res.a1; > + > + return res.a0; > +} > +EXPORT_SYMBOL_GPL(gh_hypercall_bell_send); > + > +enum gh_error gh_hypercall_bell_set_mask(u64 capid, u64 enable_mask, u64 ack_mask) > +{ > + struct arm_smccc_res res; > + > + arm_smccc_1_1_hvc(GH_HYPERCALL_BELL_SET_MASK, capid, enable_mask, ack_mask, 0, &res); > + > + return res.a0; > +} > +EXPORT_SYMBOL_GPL(gh_hypercall_bell_set_mask); > + > enum gh_error gh_hypercall_msgq_send(u64 capid, size_t size, void *buff, u64 tx_flags, bool *ready) > { > struct arm_smccc_res res; > diff --git a/include/linux/gunyah.h b/include/linux/gunyah.h > index cd5704a82c6a..1f1685518bf3 100644 > --- a/include/linux/gunyah.h > +++ b/include/linux/gunyah.h > @@ -171,6 +171,9 @@ static inline u16 gh_api_version(const struct gh_hypercall_hyp_identify_resp *gh > > void gh_hypercall_hyp_identify(struct gh_hypercall_hyp_identify_resp *hyp_identity); > > +enum gh_error gh_hypercall_bell_send(u64 capid, u64 new_flags, u64 *old_flags); > +enum gh_error gh_hypercall_bell_set_mask(u64 capid, u64 enable_mask, u64 ack_mask); > + > #define GH_HYPERCALL_MSGQ_TX_FLAGS_PUSH BIT(0) > > enum gh_error gh_hypercall_msgq_send(u64 capid, size_t size, void *buff, u64 tx_flags, bool *ready);
next prev parent reply other threads:[~2023-06-05 19:50 UTC|newest] Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-05-09 20:47 [PATCH v13 00/24] Drivers for Gunyah hypervisor Elliot Berman 2023-05-09 20:47 ` [PATCH v13 01/24] dt-bindings: Add binding for gunyah hypervisor Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 02/24] gunyah: Common types and error codes for Gunyah hypercalls Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-05 21:31 ` Srinivas Kandagatla 2023-06-05 21:31 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 03/24] virt: gunyah: Add hypercalls to identify Gunyah Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 04/24] virt: gunyah: msgq: Add hypercalls to send and receive messages Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-05 21:31 ` Srinivas Kandagatla 2023-06-05 21:31 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 05/24] mailbox: Add Gunyah message queue mailbox Elliot Berman 2023-05-24 6:29 ` Dmitry Baryshkov 2023-05-24 6:29 ` Dmitry Baryshkov 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-05 21:32 ` Srinivas Kandagatla 2023-06-05 21:32 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 06/24] gunyah: rsc_mgr: Add resource manager RPC core Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-06 12:45 ` Srinivas Kandagatla 2023-06-06 12:45 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 07/24] gunyah: rsc_mgr: Add VM lifecycle RPC Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-06 12:49 ` Srinivas Kandagatla 2023-06-06 12:49 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 08/24] gunyah: vm_mgr: Introduce basic VM Manager Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder 2023-06-06 12:51 ` Srinivas Kandagatla 2023-06-06 12:51 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 09/24] gunyah: rsc_mgr: Add RPC for sharing memory Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-06-09 22:35 ` Elliot Berman 2023-06-09 22:35 ` Elliot Berman 2023-06-06 13:35 ` Srinivas Kandagatla 2023-06-06 13:35 ` Srinivas Kandagatla 2023-05-09 20:47 ` [PATCH v13 10/24] gunyah: vm_mgr: Add/remove user memory regions Elliot Berman 2023-05-19 11:59 ` Will Deacon 2023-05-19 11:59 ` Will Deacon 2023-05-19 17:02 ` Elliot Berman 2023-05-19 17:02 ` Elliot Berman 2023-06-05 14:18 ` Will Deacon 2023-06-05 14:18 ` Will Deacon 2023-06-07 15:54 ` Elliot Berman 2023-06-07 15:54 ` Elliot Berman 2023-06-22 23:56 ` Elliot Berman 2023-06-22 23:56 ` Elliot Berman 2023-07-13 20:28 ` Elliot Berman 2023-07-13 20:28 ` Elliot Berman 2023-07-14 12:13 ` Will Deacon 2023-07-14 12:13 ` Will Deacon 2023-07-19 2:28 ` Elliot Berman 2023-07-19 2:28 ` Elliot Berman 2023-07-20 10:39 ` Will Deacon 2023-07-20 10:39 ` Will Deacon 2023-06-13 17:54 ` Elliot Berman 2023-06-13 17:54 ` Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 11/24] gunyah: vm_mgr: Add ioctls to support basic non-proxy VM boot Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 12/24] samples: Add sample userspace Gunyah VM Manager Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 13/24] gunyah: rsc_mgr: Add platform ops on mem_lend/mem_reclaim Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 14/24] virt: gunyah: Add Qualcomm Gunyah platform ops Elliot Berman 2023-06-05 19:48 ` Alex Elder 2023-06-05 19:48 ` Alex Elder 2023-06-07 15:55 ` Elliot Berman 2023-06-07 15:55 ` Elliot Berman 2023-05-09 20:47 ` [PATCH v13 15/24] docs: gunyah: Document Gunyah VM Manager Elliot Berman 2023-06-05 19:49 ` Alex Elder 2023-06-05 19:49 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 16/24] virt: gunyah: Translate gh_rm_hyp_resource into gunyah_resource Elliot Berman 2023-06-05 19:49 ` Alex Elder 2023-06-05 19:49 ` Alex Elder 2023-06-09 20:00 ` Elliot Berman 2023-06-09 20:00 ` Elliot Berman 2023-05-09 20:47 ` [PATCH v13 17/24] gunyah: vm_mgr: Add framework for VM Functions Elliot Berman 2023-06-05 19:49 ` Alex Elder 2023-06-05 19:49 ` Alex Elder 2023-06-09 19:49 ` Elliot Berman 2023-06-09 19:49 ` Elliot Berman 2023-06-12 12:57 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 18/24] virt: gunyah: Add resource tickets Elliot Berman 2023-06-05 19:49 ` Alex Elder 2023-06-05 19:49 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 19/24] virt: gunyah: Add IO handlers Elliot Berman 2023-06-05 19:50 ` Alex Elder 2023-06-05 19:50 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 20/24] virt: gunyah: Add proxy-scheduled vCPUs Elliot Berman 2023-06-05 19:50 ` Alex Elder 2023-06-05 19:50 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 21/24] virt: gunyah: Add hypercalls for sending doorbell Elliot Berman 2023-06-05 19:50 ` Alex Elder [this message] 2023-06-05 19:50 ` Alex Elder 2023-05-09 20:47 ` [PATCH v13 22/24] virt: gunyah: Add irqfd interface Elliot Berman 2023-06-05 19:50 ` Alex Elder 2023-06-05 19:50 ` Alex Elder 2023-06-09 18:22 ` Elliot Berman 2023-06-09 18:22 ` Elliot Berman 2023-06-09 18:28 ` Alex Elder 2023-06-09 18:28 ` Alex Elder 2023-05-09 20:48 ` [PATCH v13 23/24] virt: gunyah: Add ioeventfd Elliot Berman 2023-06-05 19:50 ` Alex Elder 2023-06-05 19:50 ` Alex Elder 2023-06-09 17:33 ` Elliot Berman 2023-06-09 17:33 ` Elliot Berman 2023-06-09 17:46 ` Alex Elder 2023-06-09 17:46 ` Alex Elder 2023-05-09 20:48 ` [PATCH v13 24/24] MAINTAINERS: Add Gunyah hypervisor drivers section Elliot Berman 2023-06-05 19:50 ` Alex Elder 2023-06-05 19:50 ` Alex Elder 2023-05-24 6:47 ` [PATCH v13 00/24] Drivers for Gunyah hypervisor Dmitry Baryshkov 2023-05-24 6:47 ` Dmitry Baryshkov 2023-05-24 17:13 ` Alex Bennée 2023-05-24 17:13 ` Alex Bennée 2023-06-13 23:02 ` Elliot Berman 2023-06-13 23:02 ` Elliot Berman 2023-06-05 19:47 ` Alex Elder 2023-06-05 19:47 ` Alex Elder
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=c34b96cb-efc9-c6aa-78bf-4b1adc407254@linaro.org \ --to=elder@linaro.org \ --cc=agross@kernel.org \ --cc=andersson@kernel.org \ --cc=arnd@arndb.de \ --cc=bagasdotme@gmail.com \ --cc=catalin.marinas@arm.com \ --cc=corbet@lwn.net \ --cc=devicetree@vger.kernel.org \ --cc=dmitry.baryshkov@linaro.org \ --cc=gregkh@linuxfoundation.org \ --cc=jassisinghbrar@gmail.com \ --cc=konrad.dybcio@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=linux-kernel@vger.kernel.org \ --cc=quic_cvanscha@quicinc.com \ --cc=quic_eberman@quicinc.com \ --cc=quic_mnalajal@quicinc.com \ --cc=quic_pheragu@quicinc.com \ --cc=quic_svaddagi@quicinc.com \ --cc=quic_tsoni@quicinc.com \ --cc=robh+dt@kernel.org \ --cc=srinivas.kandagatla@linaro.org \ --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: linkBe 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.