From: Sudeep Holla <sudeep.holla@arm.com> To: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Cc: Sudeep Holla <sudeep.holla@arm.com>, arve@google.com, Andrew Walbran <qwandor@google.com>, David Hartley <dhh@qti.qualcomm.com>, Achin Gupta <Achin.Gupta@arm.com>, Jens Wiklander <jens.wiklander@linaro.org>, Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>, Marc Bonnici <marc.bonnici@arm.com> Subject: [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Date: Wed, 5 May 2021 10:38:37 +0100 [thread overview] Message-ID: <20210505093843.3308691-1-sudeep.holla@arm.com> (raw) Hi all, This is very basic implementation for in-kernel support for Arm FF-A specification. Arm Firmware Framework for Armv8-A specification[1] describes a software architecture that provides mechanism to utilise the virtualization extension to isolate software images and describes interfaces that standardize communication between the various software images. This includes communication between images in the Secure and Normal world. The main idea here is to create FFA device to establish any communication with a secure partition. This is currently tested with OPTEE(with changes to OPTEE driver adding FFA as transport) The series can be fetched from [2] -- Regards, Sudeep [1] https://developer.arm.com/documentation/den0077/latest [2] git://git.kerniel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git v5.13/ffa v5->v6: - Dropped DT dependecy completely and use the discovery APIs for adding FFA partitions on the bus. They is some workaround added as v1.0 doesn't provide UUID as part of the discovery APIs which is used to match the devices and driver on FFA bus. - Extended SMCCC v1.2 API to support full set of input and output registers. - Couple of minor bug fixes found as part of testing v4->v5: - Fixed couple of comments in DT bindings - Moved to use native version of RXTX_MAP call, fixed vm_id param to RXTX_UNMAP, dropped couple of unused confusingly named macros (can be added back with correct name when we need to use them) v3->v4: - Added support to allow partitions to set 32bit only mode - Addressed all the comments from Jens Wiklander v2->v3: - Dropped hypervisor partitions and userspace support as it is no longer in the list of requirements - Moved away from ioctl style interface for in-kernel users as there is no need to keep in sync with userspace anymore - Some kerneldoc fixes as pointed out in earlier reviews v1->v2: - Moved userspace code to a separate unit, will move to separate module. Still working on minimizing initcall dependencies and exported functions to reuse some of the code. - Fixed couple of minor issues pointed out - Dropped ASYNC send message as I haven't been able to test Sudeep Holla (6): arm64: smccc: Add support for SMCCCv1.2 extended input/output registers firmware: arm_ffa: Add initial FFA bus support for device enumeration firmware: arm_ffa: Add initial Arm FFA driver support firmware: arm_ffa: Add support for SMCCC as transport to FFA driver firmware: arm_ffa: Setup in-kernel users of FFA partitions firmware: arm_ffa: Add support for MEM_* interfaces MAINTAINERS | 7 + arch/arm64/kernel/asm-offsets.c | 9 + arch/arm64/kernel/smccc-call.S | 57 +++ drivers/firmware/Kconfig | 1 + drivers/firmware/Makefile | 1 + drivers/firmware/arm_ffa/Kconfig | 21 + drivers/firmware/arm_ffa/Makefile | 6 + drivers/firmware/arm_ffa/bus.c | 210 +++++++++ drivers/firmware/arm_ffa/common.h | 31 ++ drivers/firmware/arm_ffa/driver.c | 719 ++++++++++++++++++++++++++++++ drivers/firmware/arm_ffa/smccc.c | 39 ++ include/linux/arm-smccc.h | 55 +++ include/linux/arm_ffa.h | 266 +++++++++++ 13 files changed, 1422 insertions(+) create mode 100644 drivers/firmware/arm_ffa/Kconfig create mode 100644 drivers/firmware/arm_ffa/Makefile create mode 100644 drivers/firmware/arm_ffa/bus.c create mode 100644 drivers/firmware/arm_ffa/common.h create mode 100644 drivers/firmware/arm_ffa/driver.c create mode 100644 drivers/firmware/arm_ffa/smccc.c create mode 100644 include/linux/arm_ffa.h -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com> To: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Cc: Sudeep Holla <sudeep.holla@arm.com>, arve@google.com, Andrew Walbran <qwandor@google.com>, David Hartley <dhh@qti.qualcomm.com>, Achin Gupta <Achin.Gupta@arm.com>, Jens Wiklander <jens.wiklander@linaro.org>, Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>, Marc Bonnici <marc.bonnici@arm.com> Subject: [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Date: Wed, 5 May 2021 10:38:37 +0100 [thread overview] Message-ID: <20210505093843.3308691-1-sudeep.holla@arm.com> (raw) Hi all, This is very basic implementation for in-kernel support for Arm FF-A specification. Arm Firmware Framework for Armv8-A specification[1] describes a software architecture that provides mechanism to utilise the virtualization extension to isolate software images and describes interfaces that standardize communication between the various software images. This includes communication between images in the Secure and Normal world. The main idea here is to create FFA device to establish any communication with a secure partition. This is currently tested with OPTEE(with changes to OPTEE driver adding FFA as transport) The series can be fetched from [2] -- Regards, Sudeep [1] https://developer.arm.com/documentation/den0077/latest [2] git://git.kerniel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git v5.13/ffa v5->v6: - Dropped DT dependecy completely and use the discovery APIs for adding FFA partitions on the bus. They is some workaround added as v1.0 doesn't provide UUID as part of the discovery APIs which is used to match the devices and driver on FFA bus. - Extended SMCCC v1.2 API to support full set of input and output registers. - Couple of minor bug fixes found as part of testing v4->v5: - Fixed couple of comments in DT bindings - Moved to use native version of RXTX_MAP call, fixed vm_id param to RXTX_UNMAP, dropped couple of unused confusingly named macros (can be added back with correct name when we need to use them) v3->v4: - Added support to allow partitions to set 32bit only mode - Addressed all the comments from Jens Wiklander v2->v3: - Dropped hypervisor partitions and userspace support as it is no longer in the list of requirements - Moved away from ioctl style interface for in-kernel users as there is no need to keep in sync with userspace anymore - Some kerneldoc fixes as pointed out in earlier reviews v1->v2: - Moved userspace code to a separate unit, will move to separate module. Still working on minimizing initcall dependencies and exported functions to reuse some of the code. - Fixed couple of minor issues pointed out - Dropped ASYNC send message as I haven't been able to test Sudeep Holla (6): arm64: smccc: Add support for SMCCCv1.2 extended input/output registers firmware: arm_ffa: Add initial FFA bus support for device enumeration firmware: arm_ffa: Add initial Arm FFA driver support firmware: arm_ffa: Add support for SMCCC as transport to FFA driver firmware: arm_ffa: Setup in-kernel users of FFA partitions firmware: arm_ffa: Add support for MEM_* interfaces MAINTAINERS | 7 + arch/arm64/kernel/asm-offsets.c | 9 + arch/arm64/kernel/smccc-call.S | 57 +++ drivers/firmware/Kconfig | 1 + drivers/firmware/Makefile | 1 + drivers/firmware/arm_ffa/Kconfig | 21 + drivers/firmware/arm_ffa/Makefile | 6 + drivers/firmware/arm_ffa/bus.c | 210 +++++++++ drivers/firmware/arm_ffa/common.h | 31 ++ drivers/firmware/arm_ffa/driver.c | 719 ++++++++++++++++++++++++++++++ drivers/firmware/arm_ffa/smccc.c | 39 ++ include/linux/arm-smccc.h | 55 +++ include/linux/arm_ffa.h | 266 +++++++++++ 13 files changed, 1422 insertions(+) create mode 100644 drivers/firmware/arm_ffa/Kconfig create mode 100644 drivers/firmware/arm_ffa/Makefile create mode 100644 drivers/firmware/arm_ffa/bus.c create mode 100644 drivers/firmware/arm_ffa/common.h create mode 100644 drivers/firmware/arm_ffa/driver.c create mode 100644 drivers/firmware/arm_ffa/smccc.c create mode 100644 include/linux/arm_ffa.h -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-05-05 9:38 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-05 9:38 Sudeep Holla [this message] 2021-05-05 9:38 ` [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-05 13:49 ` Mark Rutland 2021-05-05 13:49 ` Mark Rutland 2021-05-06 10:30 ` Sudeep Holla 2021-05-06 10:30 ` Sudeep Holla 2021-05-05 15:28 ` Michael Kelley 2021-05-05 15:28 ` Michael Kelley 2021-05-06 10:31 ` Sudeep Holla 2021-05-06 10:31 ` Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 2/6] firmware: arm_ffa: Add initial FFA bus support for device enumeration Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 3/6] firmware: arm_ffa: Add initial Arm FFA driver support Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 4/6] firmware: arm_ffa: Add support for SMCCC as transport to FFA driver Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 5/6] firmware: arm_ffa: Setup in-kernel users of FFA partitions Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-05 9:38 ` [PATCH v6 6/6] firmware: arm_ffa: Add support for MEM_* interfaces Sudeep Holla 2021-05-05 9:38 ` Sudeep Holla 2021-05-20 13:20 ` [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Jens Wiklander 2021-05-20 13:20 ` Jens Wiklander 2021-05-20 13:34 ` Sudeep Holla 2021-05-20 13:34 ` Sudeep Holla
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=20210505093843.3308691-1-sudeep.holla@arm.com \ --to=sudeep.holla@arm.com \ --cc=Achin.Gupta@arm.com \ --cc=arunachalam.ganapathy@arm.com \ --cc=arve@google.com \ --cc=devicetree@vger.kernel.org \ --cc=dhh@qti.qualcomm.com \ --cc=jens.wiklander@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.bonnici@arm.com \ --cc=qwandor@google.com \ /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.