[PATCH v12 00/13] fpga: zynqmp: Adding support of loading authenticated images

Michal Simek michal.simek at amd.com
Tue Jul 26 09:32:55 CEST 2022



On 7/22/22 16:16, Oleksandr Suvorov wrote:
> CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.
> 
> 
> This patchset introduces support for the authenticated and encrypted
> FPGA images on ZynqMP boards, besides that introducing common way to
> pass the compatible property to any fpga driver.
> 
> It bases on the initial work by Jorge Ramirez-Ortiz <jorge at foundries.io>
> https://patchwork.ozlabs.org/project/uboot/patch/20211015091506.2602-1-jorge@foundries.io/
> https://patchwork.ozlabs.org/project/uboot/patch/20211005111324.19749-3-jorge@foundries.io/
> 
> Changes in v12:
> - define the function only if FPGA_LOAD_SECURE enabled;
> - convert "compatible" to flags only if FPGA_LOAD_SECURE enabled;
> - fix a commit message
> - remove obsolete debug() message
> - exclude all secure-related code if FPGA_LOAD_SECURE is disabled
> - reduce the size of SPL if FPGA_LOAD_SECURE disabled.
> 
> Changes in v11:
> - Fix treating an incoming FPGA image with empty flags parameter as
>    legacy.
> - add Tested-by records.
> 
> Changes in v10:
> - move FPGA flags to macros;
> - initialize xilinx_desc structs directly, removing *_DESC macros;
> - initialize flags for mach-zynq;
> - fix mixed types of return value;
> - made the message about ignoring legacy compatibe option as debug;
> - fix grammar
> - Support DDR images only if FPGA_LOAD_SECURE enabled.
> - Support ENC images only if FPGA_LOAD_SECURE enabled.
> 
> Changes in v9:
> - remove an alien commit from a patchset :)
> 
> Changes in v8:
> - Michal Simek's suggestions addressed:
> -- introduce the compatible flags in xilinx_desc;
> -- pass a binary compatible flag instead of "compatible" property to
>     an FPGA driver.
> - Optimize a zynqmp_load() function.
> 
> Changes in v7:
> - apply Michal Simek's suggestions
>    As I applied changes on Oleksandr's patches, I indicated it by
>    specifying myself as co-author in the commits logs. I am not sure
>    if that is the convention of marking it.
> 
> Changes in v6:
> - add support for the encrypted bitfiles.
> 
> Changes in v5:
> - replace ifdef with if() where it's possible.
> 
> Changes in v4:
> - change interface to xilinx_desc->operations->open() callback.
> - fix a bug from previous version of the patchset in dereferencing
>    of a parent fpga_desc structure.
> 
> Changes in v3:
> - remove the patch which introduced CMD_SPL_FPGA_LOAD_SECURE.
> - fix mixing definitions/declarations.
> - replace strcmp() calls with more secure strncmp().
> - document the "u-boot,zynqmp-fpga-ddrauth" compatible string.
> - fix code style by check-patch recommendations.
> 
> Changes in v2:
> - add function fit_fpga_load() to simplify calls of fpga_load()
>    from contexts without a compatible attribute.
> - move all ZynqMP-specific logic to drivers/fpga/zynqmppl.c
> - prepare for passing a "compatible" FDT property to any fpga driver.
> 
> Adrian Fiergolski (1):
>    fpga: zynqmp: support loading encrypted bitfiles
> 
> Oleksandr Suvorov (12):
>    fpga: add option for loading FPGA secure bitstreams
>    fpga: xilinx: add missed identifier names
>    fpga: xilinx: add bitstream flags to driver desc
>    fpga: zynqmp: add str2flags call
>    fpga: xilinx: pass compatible flags to xilinx_load()
>    fpga: pass compatible flags to fpga_load()
>    fpga: add fpga_compatible2flag
>    spl: fit: pass real compatible flags to fpga_load()
>    fpga: xilinx: pass compatible flags to load() callback
>    fpga: zynqmp: reduce zynqmppl_load() code
>    fpga: zynqmp: add bitstream compatible checking
>    fpga: zynqmp: support loading authenticated images
> 
>   arch/arm/mach-zynq/cpu.c              |  1 +
>   board/xilinx/versal/board.c           |  5 +-
>   board/xilinx/zynqmp/zynqmp.c          |  5 +-
>   boot/Kconfig                          |  4 +-
>   boot/image-board.c                    |  4 +-
>   cmd/Kconfig                           |  3 +-
>   cmd/fpga.c                            |  8 +--
>   common/spl/spl_fit.c                  | 17 +++--
>   doc/uImage.FIT/source_file_format.txt |  7 +-
>   drivers/fpga/Kconfig                  | 14 ++++
>   drivers/fpga/fpga.c                   | 33 ++++++++-
>   drivers/fpga/spartan2.c               |  2 +-
>   drivers/fpga/spartan3.c               |  2 +-
>   drivers/fpga/versalpl.c               |  2 +-
>   drivers/fpga/virtex2.c                |  2 +-
>   drivers/fpga/xilinx.c                 |  8 +--
>   drivers/fpga/zynqmppl.c               | 99 ++++++++++++++++++++++-----
>   drivers/fpga/zynqpl.c                 |  2 +-
>   include/fpga.h                        |  4 +-
>   include/versalpl.h                    |  3 -
>   include/xilinx.h                      | 21 ++++--
>   include/zynqmppl.h                    |  9 ++-
>   22 files changed, 199 insertions(+), 56 deletions(-)
> 
> --
> 2.36.1
> 


Applied with adding one macro in 12/13.

Thanks,
Michal


More information about the U-Boot mailing list