linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Gong <richard.gong@linux.intel.com>
To: Moritz Fischer <mdf@kernel.org>
Cc: gregkh@linuxfoundation.org, trix@redhat.com,
	linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org,
	dinguyen@kernel.org, sridhar.rajagopal@intel.com,
	richard.gong@intel.com
Subject: Re: [PATCHv2 1/5] firmware: stratix10-svc: add COMMAND_AUTHENTICATE_BITSTREAM flag
Date: Wed, 18 Nov 2020 12:16:09 -0600	[thread overview]
Message-ID: <d8b58b40-63c6-115e-8e61-f092e3f050b3@linux.intel.com> (raw)
In-Reply-To: <X7U+BTkW7ZmsMByV@epycbox.lan>


Hi Moritz,

On 11/18/20 9:30 AM, Moritz Fischer wrote:
> On Wed, Nov 18, 2020 at 08:29:09AM -0600, richard.gong@linux.intel.com wrote:
>> From: Richard Gong <richard.gong@intel.com>
>>
>> Add COMMAND_AUTHENTICATE_BITSTREAM command flag for new added bitstream
>> authentication feature. Authenticating a bistream is to make sure a signed
>> bitstream has the valid signatures.
>>
>> Except for the actual configuration of the device, the bitstream
>> authentication works the same way as FPGA configuration does. If the
>> authentication passes, the signed bitstream will be programmed into QSPI
>> flash memory and will be expected to boot without issues.
>>
>> Clean up COMMAND_RECONFIG_FLAG_PARTIAL flag by resetting it to 0, which
>> aligns with the firmware settings.
> 
> Should this be down with the v2: ?

I think the commit message should describe all the changes made in the 
patch, is it?

>>
>> Signed-off-by: Richard Gong <richard.gong@intel.com>
>> ---
>> v2: new added
>> ---
>>   include/linux/firmware/intel/stratix10-svc-client.h | 11 ++++++++---
>>   1 file changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/linux/firmware/intel/stratix10-svc-client.h b/include/linux/firmware/intel/stratix10-svc-client.h
>> index a93d859..85463c8 100644
>> --- a/include/linux/firmware/intel/stratix10-svc-client.h
>> +++ b/include/linux/firmware/intel/stratix10-svc-client.h
>> @@ -51,12 +51,17 @@
>>   #define SVC_STATUS_NO_SUPPORT		6
>>   
>>   /**
>> - * Flag bit for COMMAND_RECONFIG
>> + * Flag bit for COMMAND_RECONFIG, in bit number
>>    *
>>    * COMMAND_RECONFIG_FLAG_PARTIAL:
>> - * Set to FPGA configuration type (full or partial).
>> + * Set for partial FPGA configuration.
>> + *
>> + * COMMAND_AUTHENTICATE_BITSTREAM:
>> + * Set for bitstream authentication, which makes sure a signed bitstream
>> + * has valid signatures before committing it to QSPI flash memory.
>>    */
>> -#define COMMAND_RECONFIG_FLAG_PARTIAL	1
>> +#define COMMAND_RECONFIG_FLAG_PARTIAL	0
>> +#define COMMAND_AUTHENTICATE_BITSTREAM	1
> 
> Can you explain how this commit by itself doesn't break things?
> 
> Before this change firmware expected BIT(0) to be set for partial
> reconfiguration, now BIT(0) suddenly means authentication? How doest his
> work? :)
>  > Was there a firmware version change? Did this never work before?
> 
> If this is version depenedent for firmware, then this might need a
> different compatible string / id / some form of probing?
> 
> Entirely possible that I'm missing something, but it doesn't *seem*
> right.
>>   

It did work before.

Before this change, firmware only checks if the received flag value is 
zero. If the value is zero, it preforms full reconfiguration. Otherwise 
it does partial reconfiguration.

To support bitstream authentication feature, firmware is updated to 
check the received flag value as below:
	0	--- full reconfiguration
	BIT(0) 	--- partial reconfiguration
	BIT(1) 	--- bitstream authentication

Therefore I have updated the command flag setting at Intel service layer 
driver to align with firmware.

Regards,
Richard

>>   /**
>>    * Timeout settings for service clients:
>> -- 
>> 2.7.4
>>
> 
> Cheers,
> Moritz
> 

  reply	other threads:[~2020-11-18 17:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-18 14:29 [PATCHv2 0/5] Extend Intel service layer, FPGA manager and region richard.gong
2020-11-18 14:29 ` [PATCHv2 1/5] firmware: stratix10-svc: add COMMAND_AUTHENTICATE_BITSTREAM flag richard.gong
2020-11-18 15:30   ` Moritz Fischer
2020-11-18 18:16     ` Richard Gong [this message]
2020-11-22  1:10       ` Moritz Fischer
2020-11-30 18:55         ` Richard Gong
2020-12-01  4:31           ` Moritz Fischer
2020-12-01 19:30             ` Richard Gong
2020-12-01 19:19               ` Moritz Fischer
2020-12-01 20:52                 ` Richard Gong
2020-11-18 14:29 ` [PATCHv2 2/5] fpga: fpga-mgr: add FPGA_MGR_BITSTREM_AUTHENTICATION flag richard.gong
2020-11-18 14:29 ` [PATCHv2 3/5] fpga: of-fpga-region: add authenticate-fpga-config property richard.gong
2020-11-18 14:29 ` [PATCHv2 4/5] dt-bindings: fpga: " richard.gong
2020-11-18 14:29 ` [PATCHv2 5/5] fpga: stratix10-soc: extend driver for bitstream authentication richard.gong
2020-12-14 14:03 ` [PATCHv2 0/5] Extend Intel service layer, FPGA manager and region Richard Gong
2020-12-14 14:05   ` Greg KH
2020-12-14 14:43     ` Richard Gong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d8b58b40-63c6-115e-8e61-f092e3f050b3@linux.intel.com \
    --to=richard.gong@linux.intel.com \
    --cc=dinguyen@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdf@kernel.org \
    --cc=richard.gong@intel.com \
    --cc=sridhar.rajagopal@intel.com \
    --cc=trix@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).