On 11/29/2017 10:24 AM, Javier Martinez Canillas wrote:
> Hello Jarkko,
> 
> On 11/29/2017 06:57 PM, Jarkko Sakkinen wrote:
>> On Wed, Nov 29, 2017 at 12:08:46PM +0100, Javier Martinez Canillas
>> wrote:
>>> +#define TPM2_RC_LAYER_SHIFT        16 +#define TPM2_RESMGRTPM_RC_LAYER
>>> (11 << TPM2_RC_LAYER_SHIFT)
>>
>> I got this spec from Philip [1].
>>
>> Couple of remarks:
>>
>> * What is the difference between TSS2_RESMGR_RC_LAYER and 
>> TSS2_RESMGR_TPM_RC_LAYER?
> 
> The difference is the type of error returned in each case. 
> TSS2_RESMGR_RC_LAYER
> means that's an error internal to the TAB/RM and so the response code is one 
> of
> the TSS2_BASE_RC_* error values.
> 
> But TSS2_RESMGR_TPM_RC_LAYER means that the resource manager is taking over 
> some
> TPM functionality (i.e: validation) and so the response code is a TSS2_RC_* 
> error
> value, liket is the case for this patch (TPM_RC_COMMAND_CODE).

This distinction predates my participation in the spec. Personally I
don't think users will really care so long as it's evident which 'layer'
produced the error. Using the TSS2_RESMGR_TPM_RC_LAYER is the right
thing to do though according to the spec.

>> * Should the driver code use TSS2 or TPM2 prefix?
>>
> 
> That's a very good question. I used TPM2 as prefix instead of TSS2 to keep it
> consistent with the rest of the driver, but probably TSS2 should be used 
> instead
> so people can search more easy the constant in the specification doc.

+1

Philip

>> [1]
>> https://trustedcomputinggroup.org/wp-content/uploads/TCG-TSS-2.0-Overview-and-Common-Structures-Specification-Version-0.90-Revision-02.pdf
>>
>>  /Jarkko
>>
> 
> Best regards,
> 

Reply via email to