mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
39d383bdac
Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0 The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1] describes interfaces (ABIs) that standardize communication between the Secure World and Normal World leveraging TrustZone technology. This driver uses 64-bit registers as per SMCCCv1.2 spec and comes on top of the SMCCC layer. The driver provides the FF-A ABIs needed for querying the FF-A framework from the secure world. The driver uses SMC32 calling convention which means using the first 32-bit data of the Xn registers. All supported ABIs come with their 32-bit version except FFA_RXTX_MAP which has 64-bit version supported. Both 32-bit and 64-bit direct messaging are supported which allows both 32-bit and 64-bit clients to use the FF-A bus. FF-A is a discoverable bus and similar to architecture features. FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed by the PSCI driver. Clients are able to probe then use the FF-A bus by calling the DM class searching APIs (e.g: uclass_first_device). The Secure World is considered as one entity to communicate with using the FF-A bus. FF-A communication is handled by one device and one instance (the bus). This FF-A driver takes care of all the interactions between Normal world and Secure World. The driver exports its operations to be used by upper layers. Exported operations: - ffa_partition_info_get - ffa_sync_send_receive - ffa_rxtx_unmap Generic FF-A methods are implemented in the Uclass (arm-ffa-uclass.c). Arm specific methods are implemented in the Arm driver (arm-ffa.c). For more details please refer to the driver documentation [2]. [1]: https://developer.arm.com/documentation/den0077/latest/ [2]: doc/arch/arm64.ffa.rst Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Cc: Tom Rini <trini@konsulko.com> Cc: Jens Wiklander <jens.wiklander@linaro.org> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> |
||
---|---|---|
.. | ||
android | ||
api | ||
arch | ||
board | ||
build | ||
chromium | ||
develop | ||
device-tree-bindings | ||
imx | ||
learn | ||
media | ||
mvebu | ||
sphinx | ||
sphinx-static | ||
SPI | ||
SPL | ||
usage | ||
.gitignore | ||
bounces | ||
conf.py | ||
dumpimage.1 | ||
feature-removal-schedule.txt | ||
git-mailrc | ||
I2C_Edge_Conditions | ||
index.rst | ||
kwboot.1 | ||
Makefile | ||
mkeficapsule.1 | ||
mkfwumdata.1 | ||
mkimage.1 | ||
README.arm-caches | ||
README.arm-relocation | ||
README.armada-secureboot | ||
README.asn1 | ||
README.atmel_mci | ||
README.atmel_pmecc | ||
README.autoboot | ||
README.bcmns3 | ||
README.bitbangMII | ||
README.bootcount | ||
README.boston | ||
README.cfi | ||
README.commands.itest | ||
README.commands.spl | ||
README.console | ||
README.davinci | ||
README.davinci.nand_spl | ||
README.dfutftp | ||
README.displaying-bmps | ||
README.dns | ||
README.enetaddr | ||
README.esbc_validate | ||
README.ext4 | ||
README.fec_mxc | ||
README.fsl-ddr | ||
README.fsl-esdhc | ||
README.fsl-hwconfig | ||
README.fsl-trustzone-components | ||
README.fsl_iim | ||
README.fuse | ||
README.generic-board | ||
README.generic_usb_ohci | ||
README.gpio | ||
README.gpt | ||
README.Heterogeneous-SoCs | ||
README.hwconfig | ||
README.i2c | ||
README.iomux | ||
README.JFFS2_NAND | ||
README.kconfig | ||
README.kwbimage | ||
README.LED | ||
README.link-local | ||
README.malta | ||
README.marvell | ||
README.mediatek | ||
README.memory-test | ||
README.mpc83xx.ddrecc | ||
README.mpc83xxads | ||
README.mpc85xx | ||
README.mpc85xx-sd-spi-boot | ||
README.mpc85xx-spin-table | ||
README.mpc85xxcds | ||
README.multi-dtb-fit | ||
README.mxc_ocotp | ||
README.nand | ||
README.odroid | ||
README.OFT | ||
README.omap-ulpi-viewport | ||
README.omap3 | ||
README.pblimage | ||
README.pcap | ||
README.POST | ||
README.power-framework | ||
README.pxe | ||
README.ramboot-ppc85xx | ||
README.rmobile | ||
README.rockchip | ||
README.rockusb | ||
README.s5p4418 | ||
README.s5pc1xx | ||
README.sata | ||
README.sched | ||
README.scrapyard | ||
README.serial_multi | ||
README.sha1 | ||
README.silent | ||
README.SNTP | ||
README.socfpga | ||
README.splashprepare | ||
README.srio-pcie-boot-corenet | ||
README.standalone | ||
README.t1040-l2switch | ||
README.tee | ||
README.ti-secure | ||
README.TPL | ||
README.ubi | ||
README.ubispl | ||
README.ublimage | ||
README.udp | ||
README.unaligned-memory-access.txt | ||
README.uniphier | ||
README.update | ||
README.usb | ||
README.vf610 | ||
README.video | ||
README.VLAN | ||
README.VSC3316-3308 | ||
README.watchdog | ||
README.zfs |
This patch series adds support for ZFS listing and load to u-boot. To Enable zfs ls and load commands, modify the board specific config file with #define CONFIG_CMD_ZFS Steps to test: 1. After applying the patch, zfs specific commands can be seen in the boot loader prompt using UBOOT #help zfsload- load binary file from a ZFS file system zfsls - list files in a directory (default /) 2. To list the files in zfs pool, device or partition, execute zfsls <interface> <dev[:part]> [POOL/@/dir/file] For example: UBOOT #zfsls mmc 0:5 /rpool/@/usr/bin/ 3. To read and load a file from an ZFS formatted partition to RAM, execute zfsload <interface> <dev[:part]> [addr] [filename] [bytes] For example: UBOOT #zfsload mmc 2:2 0x30007fc0 /rpool/@/boot/uImage References : -- ZFS GRUB sources from Solaris GRUB-0.97 -- GRUB Bazaar repository Jorgen Lundman <lundman at lundman.net> 2012.