[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <73ab93b9-be0b-2fc0-81ee-49b4f5780e3e@linaro.org>
Date: Tue, 7 Feb 2023 14:19:54 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Elliot Berman <quic_eberman@...cinc.com>,
Bjorn Andersson <quic_bjorande@...cinc.com>,
Alex Elder <elder@...aro.org>,
Murali Nalajala <quic_mnalajal@...cinc.com>,
Jonathan Corbet <corbet@....net>
Cc: Trilok Soni <quic_tsoni@...cinc.com>,
Srivatsa Vaddagiri <quic_svaddagi@...cinc.com>,
Carl van Schaik <quic_cvanscha@...cinc.com>,
Prakruthi Deepak Heragu <quic_pheragu@...cinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Bagas Sanjaya <bagasdotme@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, Marc Zyngier <maz@...nel.org>,
Jassi Brar <jassisinghbrar@...il.com>,
Sudeep Holla <sudeep.holla@....com>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v9 27/27] virt: gunyah: Add ioeventfd
On 20/01/2023 22:46, Elliot Berman wrote:
> Allow userspace to attach an ioeventfd to an mmio address within the guest.
>
> Co-developed-by: Prakruthi Deepak Heragu <quic_pheragu@...cinc.com>
> Signed-off-by: Prakruthi Deepak Heragu <quic_pheragu@...cinc.com>
> Signed-off-by: Elliot Berman <quic_eberman@...cinc.com>
> ---
> Documentation/virt/gunyah/vm-manager.rst | 21 +++++
> drivers/virt/gunyah/Kconfig | 9 ++
> drivers/virt/gunyah/Makefile | 1 +
> drivers/virt/gunyah/gunyah_ioeventfd.c | 109 +++++++++++++++++++++++
> include/uapi/linux/gunyah.h | 10 +++
> 5 files changed, 150 insertions(+)
> create mode 100644 drivers/virt/gunyah/gunyah_ioeventfd.c
> +MODULE_LICENSE("GPL");
> diff --git a/include/uapi/linux/gunyah.h b/include/uapi/linux/gunyah.h
> index a947f0317ca9..3cc387f0831a 100644
> --- a/include/uapi/linux/gunyah.h
> +++ b/include/uapi/linux/gunyah.h
> @@ -65,11 +65,21 @@ struct gh_fn_irqfd_arg {
> __u32 flags;
> };
>
> +struct gh_fn_ioeventfd_arg {
> + __u64 datamatch;
> + __u64 addr; /* legal mmio address */
> + __u32 len; /* 1, 2, 4, or 8 bytes; or 0 to ignore length */
> + __s32 fd;
> +#define GH_IOEVENTFD_DATAMATCH (1UL << 0)
> + __u32 flags;
This is not naturally aligned, consider adding a reserved __u32 field to
be able to make this compatible with both 32 and 64 bit machines.
I see few other uapi structures that suffer exact same issue.
--srini
> +};
> +
> struct gh_vm_function {
> char name[GUNYAH_FUNCTION_NAME_SIZE];
> union {
> struct gh_fn_vcpu_arg vcpu;
> struct gh_fn_irqfd_arg irqfd;
> + struct gh_fn_ioeventfd_arg ioeventfd;
> char data[GUNYAH_FUNCTION_MAX_ARG_SIZE];
> };
> };
Powered by blists - more mailing lists