linux-fpga.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: Greg KH <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 <richard.gong@intel.com>
Subject: Re: [PATCHv3 1/6] firmware: stratix10-svc: add COMMAND_AUTHENTICATE_BITSTREAM flag
Date: Wed, 27 Jan 2021 17:02:36 -0600	[thread overview]
Message-ID: <2d2271ca-6e6a-c8e1-6a7a-4e32d9c05d73@linux.intel.com> (raw)
In-Reply-To: <YBHeDF7p8QKu83tP@epycbox.lan>


Hi Moritz,

Sorry for the confusion.

On 1/27/21 3:41 PM, Moritz Fischer wrote:
> On Wed, Jan 27, 2021 at 07:05:41AM -0600, Richard Gong wrote:
>>
>> Hi Greg,
>>
>> Thanks for review!
>>
>> On 1/27/21 6:04 AM, Greg KH wrote:
>>> On Mon, Jan 25, 2021 at 02:56:23PM -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 bitstream 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.
>>>>
>>>> Signed-off-by: Richard Gong <richard.gong@intel.com>
>>>> ---
>>>> v3: no change
>>>> 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 ebc2956..7ada1f2 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 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
>>>
>>> So is this a bugfix, changing this value to the correct one?
>>
>> Yes, it is a bug fix.
> Wat? This is a change in interface spec with the firmware. I thought the
> whole point of the firmware version SVC call was to prevent breaking old
> firmware?
> 
> Didn't we discuss this earlier?
> 

We discussed before and I thought we were all aligned.

There are 2 aspects:
1. The purpose I changed COMMAND_RECONFIG_FLAG_PARTIAL to 0 from 1 is to 
align with the current firmware setting. This change will NOT break old 
firmware since always treats request with non-zero value as partial 
reconfiguration.

2. When we add new bitstream authentication function, the old firmware 
couldn't distinguish partial reconfiguration or bitstream authentication 
since the value of both requests were not zero. To address this back 
compatible issue, I extend Intel service layer driver for FPGA manager 
driver to get the running firmware version via SMC call. Then FPGA 
manager driver can decide whether to handle the newly added bitstream 
authentication based on the retrieved firmware version.

>>>
>>> If so, shouldn't this be a stand-alone patch and get backported to
>>> stable kernel releases?
>>
>> Sure, I will make change and submit again as a standalone patch.
>>
>>>
>>> If not, then no one uses this flag today?
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>> Regards,
>> Richard
> 
> - Moritz
> 
Regards,
Richard

  reply	other threads:[~2021-01-27 22:56 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-25 20:56 [PATCHv3 0/6] [PATCHv3 0/6] Extend Intel service layer, FPGA manager and region richard.gong
2021-01-25 20:56 ` [PATCHv3 1/6] firmware: stratix10-svc: add COMMAND_AUTHENTICATE_BITSTREAM flag richard.gong
2021-01-25 22:56   ` Tom Rix
2021-01-26  2:16     ` Richard Gong
2021-01-27 12:04   ` Greg KH
2021-01-27 13:05     ` Richard Gong
2021-01-27 21:41       ` Moritz Fischer
2021-01-27 23:02         ` Richard Gong [this message]
2021-01-25 20:56 ` [PATCHv3 2/6] firmware: stratix10-svc: extend SVC driver to get the firmware version richard.gong
2021-01-26  5:01   ` Moritz Fischer
2021-01-26 13:37     ` Richard Gong
2021-01-25 20:56 ` [PATCHv3 3/6] fpga: fpga-mgr: add FPGA_MGR_BITSTREM_AUTHENTICATION flag richard.gong
2021-01-26  5:04   ` Moritz Fischer
2021-01-26 13:38     ` Richard Gong
2021-01-25 20:56 ` [PATCHv3 4/6] fpga: of-fpga-region: add authenticate-fpga-config property richard.gong
2021-01-26  5:10   ` Moritz Fischer
2021-01-26 14:03     ` Richard Gong
2021-01-25 20:56 ` [PATCHv3 5/6] dt-bindings: fpga: " richard.gong
2021-01-26  5:05   ` Moritz Fischer
2021-01-26 13:58     ` Richard Gong
2021-01-25 20:56 ` [PATCHv3 6/6] fpga: stratix10-soc: extend driver for bitstream authentication richard.gong
2021-01-26  5:09   ` Moritz Fischer
2021-01-26 14:00     ` 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=2d2271ca-6e6a-c8e1-6a7a-4e32d9c05d73@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).