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

Oleksandr Suvorov cryosay at gmail.com
Thu Jun 2 17:11:41 CEST 2022


Adrian, I don't have access to the ZynqMP hardware for now, so could
you please test this patchset?

On Wed, Jun 1, 2022 at 11:46 AM Oleksandr Suvorov
<oleksandr.suvorov at foundries.io> wrote:
>
>
> 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 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: add fpga_compatible2flag
>   fpga: xilinx: pass compatible flags to xilinx_load()
>   fpga: pass compatible flags to fpga_load()
>   spl: fit: pass real compatible flags to fpga_load()
>   fpga: xilinx: pass compatible flags to load() callback
>   fpga: zynqmp: optimize zynqmppl_load() code
>   fpga: zynqmp: add bitstream compatible checking
>   fpga: zynqmp: support loading authenticated images
>
>  boot/Kconfig                          |  4 +-
>  boot/image-board.c                    |  4 +-
>  cmd/Kconfig                           |  3 +-
>  cmd/fpga.c                            |  8 +--
>  common/spl/spl_fit.c                  | 16 +++--
>  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               | 93 ++++++++++++++++++++++-----
>  drivers/fpga/zynqpl.c                 |  2 +-
>  include/fpga.h                        |  4 +-
>  include/versalpl.h                    |  2 +-
>  include/xilinx.h                      | 19 ++++--
>  include/zynqmppl.h                    |  3 +-
>  19 files changed, 177 insertions(+), 51 deletions(-)
>
> --
> 2.36.1
>


-- 
Best regards
Oleksandr

Oleksandr Suvorov
cryosay at gmail.com


More information about the U-Boot mailing list