[PATCH v4 0/7] firmware: Add initial support for Arm FF-A
Sudeep Holla
sudeep.holla at arm.com
Fri Feb 12 10:46:07 EST 2021
Hi all,
This is very basic implementation for in-kernel support for Arm FF-A
specification.
iArm 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.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git v5.11/ffa
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 (7):
dt-bindings: Arm: Add Firmware Framework for Armv8-A (FF-A) binding
arm64: smccc: Add support for SMCCCv1.2 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
.../devicetree/bindings/arm/arm,ffa.yaml | 58 ++
arch/arm64/kernel/asm-offsets.c | 4 +
arch/arm64/kernel/smccc-call.S | 22 +
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 | 181 +++++
drivers/firmware/arm_ffa/common.h | 32 +
drivers/firmware/arm_ffa/driver.c | 669 ++++++++++++++++++
drivers/firmware/arm_ffa/smccc.c | 54 ++
include/linux/arm-smccc.h | 50 ++
include/linux/arm_ffa.h | 277 ++++++++
13 files changed, 1376 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/arm,ffa.yaml
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
More information about the linux-arm-kernel
mailing list