diff mbox series

[PATCHv3,3/6] fpga: fpga-mgr: add FPGA_MGR_BITSTREM_AUTHENTICATION flag

Message ID 1611608188-25621-4-git-send-email-richard.gong@linux.intel.com (mailing list archive)
State Superseded, archived
Headers show
Series Extend Intel service layer, FPGA manager and region | expand

Commit Message

Richard Gong Jan. 25, 2021, 8:56 p.m. UTC
From: Richard Gong <richard.gong@intel.com>

Add FPGA_MGR_BITSTREM_AUTHENTICATION flag for FPGA bitstream
authentication, which makes sure a signed bitstream has valid signatures.

Except for the actual configuration of the device, the authentication works
the same way as FPGA configuration does. If the authentication passes, the
bitstream will be programmed into QSPI flash and will be expected to boot
without issues.

Signed-off-by: Richard Gong <richard.gong@intel.com>
---
v3: no change
v2: align all FPGA_MGR_* flags
    update the commit messages
---
 include/linux/fpga/fpga-mgr.h | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

Comments

Moritz Fischer Jan. 26, 2021, 5:04 a.m. UTC | #1
On Mon, Jan 25, 2021 at 02:56:25PM -0600, richard.gong@linux.intel.com wrote:
> From: Richard Gong <richard.gong@intel.com>
> 
> Add FPGA_MGR_BITSTREM_AUTHENTICATION flag for FPGA bitstream
> authentication, which makes sure a signed bitstream has valid signatures.
> 
> Except for the actual configuration of the device, the authentication works
> the same way as FPGA configuration does. If the authentication passes, the
> bitstream will be programmed into QSPI flash and will be expected to boot
> without issues.
> 
> Signed-off-by: Richard Gong <richard.gong@intel.com>
> ---
> v3: no change
> v2: align all FPGA_MGR_* flags
>     update the commit messages
> ---
>  include/linux/fpga/fpga-mgr.h | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h
> index 2bc3030..4fb3400 100644
> --- a/include/linux/fpga/fpga-mgr.h
> +++ b/include/linux/fpga/fpga-mgr.h
> @@ -67,12 +67,15 @@ enum fpga_mgr_states {
>   * %FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first
>   *
>   * %FPGA_MGR_COMPRESSED_BITSTREAM: FPGA bitstream is compressed
> + *
> + * %FPGA_MGR_BITSTREM_AUTHENTICATION: do FPGA bitstream authentication only
>   */
> -#define FPGA_MGR_PARTIAL_RECONFIG	BIT(0)
> -#define FPGA_MGR_EXTERNAL_CONFIG	BIT(1)
> -#define FPGA_MGR_ENCRYPTED_BITSTREAM	BIT(2)
> -#define FPGA_MGR_BITSTREAM_LSB_FIRST	BIT(3)
> -#define FPGA_MGR_COMPRESSED_BITSTREAM	BIT(4)
> +#define FPGA_MGR_PARTIAL_RECONFIG		BIT(0)
> +#define FPGA_MGR_EXTERNAL_CONFIG		BIT(1)
> +#define FPGA_MGR_ENCRYPTED_BITSTREAM		BIT(2)
> +#define FPGA_MGR_BITSTREAM_LSB_FIRST		BIT(3)
> +#define FPGA_MGR_COMPRESSED_BITSTREAM		BIT(4)
> +#define FPGA_MGR_BITSTREM_AUTHENTICATION	BIT(5)
Consider FPGA_MGR_BITSTREAM_AUTHENTICATE (and fix typo)
>  
>  /**
>   * struct fpga_image_info - information specific to a FPGA image
> -- 
> 2.7.4
> 

Thanks,
Moritz
Richard Gong Jan. 26, 2021, 1:38 p.m. UTC | #2
Hi Moritz,

On 1/25/21 11:04 PM, Moritz Fischer wrote:
> On Mon, Jan 25, 2021 at 02:56:25PM -0600, richard.gong@linux.intel.com wrote:
>> From: Richard Gong <richard.gong@intel.com>
>>
>> Add FPGA_MGR_BITSTREM_AUTHENTICATION flag for FPGA bitstream
>> authentication, which makes sure a signed bitstream has valid signatures.
>>
>> Except for the actual configuration of the device, the authentication works
>> the same way as FPGA configuration does. If the authentication passes, the
>> bitstream will be programmed into QSPI flash and will be expected to boot
>> without issues.
>>
>> Signed-off-by: Richard Gong <richard.gong@intel.com>
>> ---
>> v3: no change
>> v2: align all FPGA_MGR_* flags
>>      update the commit messages
>> ---
>>   include/linux/fpga/fpga-mgr.h | 13 ++++++++-----
>>   1 file changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h
>> index 2bc3030..4fb3400 100644
>> --- a/include/linux/fpga/fpga-mgr.h
>> +++ b/include/linux/fpga/fpga-mgr.h
>> @@ -67,12 +67,15 @@ enum fpga_mgr_states {
>>    * %FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first
>>    *
>>    * %FPGA_MGR_COMPRESSED_BITSTREAM: FPGA bitstream is compressed
>> + *
>> + * %FPGA_MGR_BITSTREM_AUTHENTICATION: do FPGA bitstream authentication only
>>    */
>> -#define FPGA_MGR_PARTIAL_RECONFIG	BIT(0)
>> -#define FPGA_MGR_EXTERNAL_CONFIG	BIT(1)
>> -#define FPGA_MGR_ENCRYPTED_BITSTREAM	BIT(2)
>> -#define FPGA_MGR_BITSTREAM_LSB_FIRST	BIT(3)
>> -#define FPGA_MGR_COMPRESSED_BITSTREAM	BIT(4)
>> +#define FPGA_MGR_PARTIAL_RECONFIG		BIT(0)
>> +#define FPGA_MGR_EXTERNAL_CONFIG		BIT(1)
>> +#define FPGA_MGR_ENCRYPTED_BITSTREAM		BIT(2)
>> +#define FPGA_MGR_BITSTREAM_LSB_FIRST		BIT(3)
>> +#define FPGA_MGR_COMPRESSED_BITSTREAM		BIT(4)
>> +#define FPGA_MGR_BITSTREM_AUTHENTICATION	BIT(5)
> Consider FPGA_MGR_BITSTREAM_AUTHENTICATE (and fix typo)

Thanks, I will correct that in next submission.

>>   
>>   /**
>>    * struct fpga_image_info - information specific to a FPGA image
>> -- 
>> 2.7.4
>>
> 
> Thanks,
> Moritz
> 
Regards,
Richard
diff mbox series

Patch

diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h
index 2bc3030..4fb3400 100644
--- a/include/linux/fpga/fpga-mgr.h
+++ b/include/linux/fpga/fpga-mgr.h
@@ -67,12 +67,15 @@  enum fpga_mgr_states {
  * %FPGA_MGR_BITSTREAM_LSB_FIRST: SPI bitstream bit order is LSB first
  *
  * %FPGA_MGR_COMPRESSED_BITSTREAM: FPGA bitstream is compressed
+ *
+ * %FPGA_MGR_BITSTREM_AUTHENTICATION: do FPGA bitstream authentication only
  */
-#define FPGA_MGR_PARTIAL_RECONFIG	BIT(0)
-#define FPGA_MGR_EXTERNAL_CONFIG	BIT(1)
-#define FPGA_MGR_ENCRYPTED_BITSTREAM	BIT(2)
-#define FPGA_MGR_BITSTREAM_LSB_FIRST	BIT(3)
-#define FPGA_MGR_COMPRESSED_BITSTREAM	BIT(4)
+#define FPGA_MGR_PARTIAL_RECONFIG		BIT(0)
+#define FPGA_MGR_EXTERNAL_CONFIG		BIT(1)
+#define FPGA_MGR_ENCRYPTED_BITSTREAM		BIT(2)
+#define FPGA_MGR_BITSTREAM_LSB_FIRST		BIT(3)
+#define FPGA_MGR_COMPRESSED_BITSTREAM		BIT(4)
+#define FPGA_MGR_BITSTREM_AUTHENTICATION	BIT(5)
 
 /**
  * struct fpga_image_info - information specific to a FPGA image