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

Oleksandr Suvorov cryosay at gmail.com
Sat Jun 18 14:21:06 CEST 2022


Hi Adrian,

Thank you very much! I felt relief :)

On Fri, Jun 17, 2022 at 5:37 PM Adrian Fiergolski
<adrian.fiergolski at fastree3d.com> wrote:
>
> Hi Oleksandr,
>
> Thank you for the follow-up.
>
> I took the chance to test this patchset in the actual hardware. I
> focused on the encrypted bitfiles (not authenticated) and I confirm it
> works.
>
> Regads,
> Adrian
>
> On 12.06.2022 00:06, Oleksandr Suvorov 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 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: 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
> >
> >   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                  | 16 +++--
> >   doc/uImage.FIT/source_file_format.txt |  7 +-
> >   drivers/fpga/Kconfig                  | 14 ++++
> >   drivers/fpga/fpga.c                   | 31 ++++++++-
> >   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               | 96 ++++++++++++++++++++++-----
> >   drivers/fpga/zynqpl.c                 |  2 +-
> >   include/fpga.h                        |  4 +-
> >   include/versalpl.h                    |  3 -
> >   include/xilinx.h                      | 19 ++++--
> >   include/zynqmppl.h                    |  9 ++-
> >   22 files changed, 191 insertions(+), 56 deletions(-)
> >



-- 
Best regards
Oleksandr

Oleksandr Suvorov
cryosay at gmail.com


More information about the U-Boot mailing list