[edk2,v2,1/2] MdePkg/IndustryStandard: Add Global Plaform header file

Message ID 1535370620-10032-2-git-send-email-sumit.garg@linaro.org
State New
Headers show
Series
  • Add ArmPkg/Optee library APIs
Related show

Commit Message

Sumit Garg Aug. 27, 2018, 11:50 a.m.
Add Global Plaform header file specific to TEE Client API Specification v1
<http://www.globalplatform.org/specificationsdevice.asp>.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

---
 MdePkg/Include/IndustryStandard/GlobalPlatform.h | 27 ++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 MdePkg/Include/IndustryStandard/GlobalPlatform.h

-- 
2.7.4

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Ard Biesheuvel Sept. 21, 2018, 11:15 p.m. | #1
On 27 August 2018 at 04:50, Sumit Garg <sumit.garg@linaro.org> wrote:
> Add Global Plaform header file specific to TEE Client API Specification v1

> <http://www.globalplatform.org/specificationsdevice.asp>.

>

> Cc: Michael D Kinney <michael.d.kinney@intel.com>

> Cc: Liming Gao <liming.gao@intel.com>

> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> Cc: Leif Lindholm <leif.lindholm@linaro.org>

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Sumit Garg <sumit.garg@linaro.org>


Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


Mike,

The header file is a bit light on content at introduction, but as
discussed online, we can add stuff as we go for other use cases.


> ---

>  MdePkg/Include/IndustryStandard/GlobalPlatform.h | 27 ++++++++++++++++++++++++

>  1 file changed, 27 insertions(+)

>  create mode 100644 MdePkg/Include/IndustryStandard/GlobalPlatform.h

>

> diff --git a/MdePkg/Include/IndustryStandard/GlobalPlatform.h b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> new file mode 100644

> index 000000000000..72c5af4ef588

> --- /dev/null

> +++ b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> @@ -0,0 +1,27 @@

> +/** @file

> +  Standardized Global Platform header file. GlobalPlatform TEE Client API

> +  Specification v1.0: <http://www.globalplatform.org/specificationsdevice.asp>

> +

> +  Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>

> +

> +  This program and the accompanying materials

> +  are licensed and made available under the terms and conditions of the BSD License

> +  which accompanies this distribution.  The full text of the license may be found at

> +  http://opensource.org/licenses/bsd-license.php

> +

> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

> +

> +**/

> +

> +#ifndef _GLOBAL_PLATFORM_H_

> +#define _GLOBAL_PLATFORM_H_

> +

> +#define TEEC_ORIGIN_COMMS                       0x00000002

> +

> +#define TEEC_SUCCESS                            0x00000000

> +#define TEEC_ERROR_BAD_PARAMETERS               0xFFFF0006

> +#define TEEC_ERROR_OUT_OF_MEMORY                0xFFFF000C

> +#define TEEC_ERROR_COMMUNICATION                0xFFFF000E

> +

> +#endif

> --

> 2.7.4

>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Sept. 24, 2018, 8:26 a.m. | #2
On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>

> On 27 August 2018 at 04:50, Sumit Garg <sumit.garg@linaro.org> wrote:

> > Add Global Plaform header file specific to TEE Client API Specification v1

> > <http://www.globalplatform.org/specificationsdevice.asp>.

> >

> > Cc: Michael D Kinney <michael.d.kinney@intel.com>

> > Cc: Liming Gao <liming.gao@intel.com>

> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > Contributed-under: TianoCore Contribution Agreement 1.1

> > Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

>

> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>

> Mike,

>

> The header file is a bit light on content at introduction, but as

> discussed online, we can add stuff as we go for other use cases.

>


... as discussed *offline*

>

> > ---

> >  MdePkg/Include/IndustryStandard/GlobalPlatform.h | 27 ++++++++++++++++++++++++

> >  1 file changed, 27 insertions(+)

> >  create mode 100644 MdePkg/Include/IndustryStandard/GlobalPlatform.h

> >

> > diff --git a/MdePkg/Include/IndustryStandard/GlobalPlatform.h b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > new file mode 100644

> > index 000000000000..72c5af4ef588

> > --- /dev/null

> > +++ b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > @@ -0,0 +1,27 @@

> > +/** @file

> > +  Standardized Global Platform header file. GlobalPlatform TEE Client API

> > +  Specification v1.0: <http://www.globalplatform.org/specificationsdevice.asp>

> > +

> > +  Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>

> > +

> > +  This program and the accompanying materials

> > +  are licensed and made available under the terms and conditions of the BSD License

> > +  which accompanies this distribution.  The full text of the license may be found at

> > +  http://opensource.org/licenses/bsd-license.php

> > +

> > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

> > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

> > +

> > +**/

> > +

> > +#ifndef _GLOBAL_PLATFORM_H_

> > +#define _GLOBAL_PLATFORM_H_

> > +

> > +#define TEEC_ORIGIN_COMMS                       0x00000002

> > +

> > +#define TEEC_SUCCESS                            0x00000000

> > +#define TEEC_ERROR_BAD_PARAMETERS               0xFFFF0006

> > +#define TEEC_ERROR_OUT_OF_MEMORY                0xFFFF000C

> > +#define TEEC_ERROR_COMMUNICATION                0xFFFF000E

> > +

> > +#endif

> > --

> > 2.7.4

> >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Kinney, Michael D Sept. 24, 2018, 4:49 p.m. | #3
Hi Ard,

The initial content is only from the TEE Client API Specification.
I noticed that there is an errata to that spec as well.  Does this
content follow the errata?

I also noticed that the specifications require the acceptance of
an additional license to view the contents.  Is there a version of
the content for this include file available that does not require
the acceptance of an additional license?

Thanks,

Mike

> -----Original Message-----

> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]

> Sent: Monday, September 24, 2018 1:26 AM

> To: Sumit Garg <sumit.garg@linaro.org>

> Cc: edk2-devel@lists.01.org; tee-dev@lists.linaro.org;

> Leif Lindholm <leif.lindholm@linaro.org>; Daniel

> Thompson <daniel.thompson@linaro.org>; Matteo Carlini

> <Matteo.Carlini@arm.com>; Achin Gupta

> <Achin.Gupta@arm.com>; Udit Kumar <udit.kumar@nxp.com>;

> Kinney, Michael D <michael.d.kinney@intel.com>; Gao,

> Liming <liming.gao@intel.com>

> Subject: Re: [edk2][PATCH v2 1/2]

> MdePkg/IndustryStandard: Add Global Plaform header file

> 

> On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel

> <ard.biesheuvel@linaro.org> wrote:

> >

> > On 27 August 2018 at 04:50, Sumit Garg

> <sumit.garg@linaro.org> wrote:

> > > Add Global Plaform header file specific to TEE

> Client API Specification v1

> > >

> <http://www.globalplatform.org/specificationsdevice.asp

> >.

> > >

> > > Cc: Michael D Kinney <michael.d.kinney@intel.com>

> > > Cc: Liming Gao <liming.gao@intel.com>

> > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > > Contributed-under: TianoCore Contribution Agreement

> 1.1

> > > Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

> >

> > Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> >

> > Mike,

> >

> > The header file is a bit light on content at

> introduction, but as

> > discussed online, we can add stuff as we go for other

> use cases.

> >

> 

> ... as discussed *offline*

> 

> >

> > > ---

> > >  MdePkg/Include/IndustryStandard/GlobalPlatform.h |

> 27 ++++++++++++++++++++++++

> > >  1 file changed, 27 insertions(+)

> > >  create mode 100644

> MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > >

> > > diff --git

> a/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > new file mode 100644

> > > index 000000000000..72c5af4ef588

> > > --- /dev/null

> > > +++

> b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > @@ -0,0 +1,27 @@

> > > +/** @file

> > > +  Standardized Global Platform header file.

> GlobalPlatform TEE Client API

> > > +  Specification v1.0:

> <http://www.globalplatform.org/specificationsdevice.asp

> >

> > > +

> > > +  Copyright (c) 2018, Linaro Ltd. All rights

> reserved.<BR>

> > > +

> > > +  This program and the accompanying materials

> > > +  are licensed and made available under the terms

> and conditions of the BSD License

> > > +  which accompanies this distribution.  The full

> text of the license may be found at

> > > +  http://opensource.org/licenses/bsd-license.php

> > > +

> > > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE

> ON AN "AS IS" BASIS,

> > > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY

> KIND, EITHER EXPRESS OR IMPLIED.

> > > +

> > > +**/

> > > +

> > > +#ifndef _GLOBAL_PLATFORM_H_

> > > +#define _GLOBAL_PLATFORM_H_

> > > +

> > > +#define TEEC_ORIGIN_COMMS

> 0x00000002

> > > +

> > > +#define TEEC_SUCCESS

> 0x00000000

> > > +#define TEEC_ERROR_BAD_PARAMETERS

> 0xFFFF0006

> > > +#define TEEC_ERROR_OUT_OF_MEMORY

> 0xFFFF000C

> > > +#define TEEC_ERROR_COMMUNICATION

> 0xFFFF000E

> > > +

> > > +#endif

> > > --

> > > 2.7.4

> > >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Sumit Garg Sept. 25, 2018, 8:27 a.m. | #4
Thanks Mike for your comments.

On Mon, 24 Sep 2018 at 22:20, Kinney, Michael D
<michael.d.kinney@intel.com> wrote:
>

> Hi Ard,

>

> The initial content is only from the TEE Client API Specification.

> I noticed that there is an errata to that spec as well.  Does this

> content follow the errata?


Yes.

>

> I also noticed that the specifications require the acceptance of

> an additional license to view the contents.  Is there a version of

> the content for this include file available that does not require

> the acceptance of an additional license?

>


Yes, following is another version of the content for this include file:

https://github.com/OP-TEE/optee_client/blob/master/public/tee_client_api.h#L163

-Sumit

> Thanks,

>

> Mike

>

> > -----Original Message-----

> > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]

> > Sent: Monday, September 24, 2018 1:26 AM

> > To: Sumit Garg <sumit.garg@linaro.org>

> > Cc: edk2-devel@lists.01.org; tee-dev@lists.linaro.org;

> > Leif Lindholm <leif.lindholm@linaro.org>; Daniel

> > Thompson <daniel.thompson@linaro.org>; Matteo Carlini

> > <Matteo.Carlini@arm.com>; Achin Gupta

> > <Achin.Gupta@arm.com>; Udit Kumar <udit.kumar@nxp.com>;

> > Kinney, Michael D <michael.d.kinney@intel.com>; Gao,

> > Liming <liming.gao@intel.com>

> > Subject: Re: [edk2][PATCH v2 1/2]

> > MdePkg/IndustryStandard: Add Global Plaform header file

> >

> > On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel

> > <ard.biesheuvel@linaro.org> wrote:

> > >

> > > On 27 August 2018 at 04:50, Sumit Garg

> > <sumit.garg@linaro.org> wrote:

> > > > Add Global Plaform header file specific to TEE

> > Client API Specification v1

> > > >

> > <http://www.globalplatform.org/specificationsdevice.asp

> > >.

> > > >

> > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>

> > > > Cc: Liming Gao <liming.gao@intel.com>

> > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > > > Contributed-under: TianoCore Contribution Agreement

> > 1.1

> > > > Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

> > >

> > > Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > >

> > > Mike,

> > >

> > > The header file is a bit light on content at

> > introduction, but as

> > > discussed online, we can add stuff as we go for other

> > use cases.

> > >

> >

> > ... as discussed *offline*

> >

> > >

> > > > ---

> > > >  MdePkg/Include/IndustryStandard/GlobalPlatform.h |

> > 27 ++++++++++++++++++++++++

> > > >  1 file changed, 27 insertions(+)

> > > >  create mode 100644

> > MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > >

> > > > diff --git

> > a/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > new file mode 100644

> > > > index 000000000000..72c5af4ef588

> > > > --- /dev/null

> > > > +++

> > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > @@ -0,0 +1,27 @@

> > > > +/** @file

> > > > +  Standardized Global Platform header file.

> > GlobalPlatform TEE Client API

> > > > +  Specification v1.0:

> > <http://www.globalplatform.org/specificationsdevice.asp

> > >

> > > > +

> > > > +  Copyright (c) 2018, Linaro Ltd. All rights

> > reserved.<BR>

> > > > +

> > > > +  This program and the accompanying materials

> > > > +  are licensed and made available under the terms

> > and conditions of the BSD License

> > > > +  which accompanies this distribution.  The full

> > text of the license may be found at

> > > > +  http://opensource.org/licenses/bsd-license.php

> > > > +

> > > > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE

> > ON AN "AS IS" BASIS,

> > > > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY

> > KIND, EITHER EXPRESS OR IMPLIED.

> > > > +

> > > > +**/

> > > > +

> > > > +#ifndef _GLOBAL_PLATFORM_H_

> > > > +#define _GLOBAL_PLATFORM_H_

> > > > +

> > > > +#define TEEC_ORIGIN_COMMS

> > 0x00000002

> > > > +

> > > > +#define TEEC_SUCCESS

> > 0x00000000

> > > > +#define TEEC_ERROR_BAD_PARAMETERS

> > 0xFFFF0006

> > > > +#define TEEC_ERROR_OUT_OF_MEMORY

> > 0xFFFF000C

> > > > +#define TEEC_ERROR_COMMUNICATION

> > 0xFFFF000E

> > > > +

> > > > +#endif

> > > > --

> > > > 2.7.4

> > > >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Sept. 25, 2018, 8:31 a.m. | #5
On Tue, 25 Sep 2018 at 10:27, Sumit Garg <sumit.garg@linaro.org> wrote:
>

> Thanks Mike for your comments.

>

> On Mon, 24 Sep 2018 at 22:20, Kinney, Michael D

> <michael.d.kinney@intel.com> wrote:

> >

> > Hi Ard,

> >

> > The initial content is only from the TEE Client API Specification.

> > I noticed that there is an errata to that spec as well.  Does this

> > content follow the errata?

>

> Yes.

>

> >

> > I also noticed that the specifications require the acceptance of

> > an additional license to view the contents.  Is there a version of

> > the content for this include file available that does not require

> > the acceptance of an additional license?

> >

>

> Yes, following is another version of the content for this include file:

>

> https://github.com/OP-TEE/optee_client/blob/master/public/tee_client_api.h#L163

>


Thanks Sumit.


Mike,

are you saying this content should not be [click through] license
encumbered if we want to put it into MdePkg as an industry standard?


> > > -----Original Message-----

> > > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]

> > > Sent: Monday, September 24, 2018 1:26 AM

> > > To: Sumit Garg <sumit.garg@linaro.org>

> > > Cc: edk2-devel@lists.01.org; tee-dev@lists.linaro.org;

> > > Leif Lindholm <leif.lindholm@linaro.org>; Daniel

> > > Thompson <daniel.thompson@linaro.org>; Matteo Carlini

> > > <Matteo.Carlini@arm.com>; Achin Gupta

> > > <Achin.Gupta@arm.com>; Udit Kumar <udit.kumar@nxp.com>;

> > > Kinney, Michael D <michael.d.kinney@intel.com>; Gao,

> > > Liming <liming.gao@intel.com>

> > > Subject: Re: [edk2][PATCH v2 1/2]

> > > MdePkg/IndustryStandard: Add Global Plaform header file

> > >

> > > On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel

> > > <ard.biesheuvel@linaro.org> wrote:

> > > >

> > > > On 27 August 2018 at 04:50, Sumit Garg

> > > <sumit.garg@linaro.org> wrote:

> > > > > Add Global Plaform header file specific to TEE

> > > Client API Specification v1

> > > > >

> > > <http://www.globalplatform.org/specificationsdevice.asp

> > > >.

> > > > >

> > > > > Cc: Michael D Kinney <michael.d.kinney@intel.com>

> > > > > Cc: Liming Gao <liming.gao@intel.com>

> > > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > > > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > > > > Contributed-under: TianoCore Contribution Agreement

> > > 1.1

> > > > > Signed-off-by: Sumit Garg <sumit.garg@linaro.org>

> > > >

> > > > Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > >

> > > > Mike,

> > > >

> > > > The header file is a bit light on content at

> > > introduction, but as

> > > > discussed online, we can add stuff as we go for other

> > > use cases.

> > > >

> > >

> > > ... as discussed *offline*

> > >

> > > >

> > > > > ---

> > > > >  MdePkg/Include/IndustryStandard/GlobalPlatform.h |

> > > 27 ++++++++++++++++++++++++

> > > > >  1 file changed, 27 insertions(+)

> > > > >  create mode 100644

> > > MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > >

> > > > > diff --git

> > > a/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > new file mode 100644

> > > > > index 000000000000..72c5af4ef588

> > > > > --- /dev/null

> > > > > +++

> > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > @@ -0,0 +1,27 @@

> > > > > +/** @file

> > > > > +  Standardized Global Platform header file.

> > > GlobalPlatform TEE Client API

> > > > > +  Specification v1.0:

> > > <http://www.globalplatform.org/specificationsdevice.asp

> > > >

> > > > > +

> > > > > +  Copyright (c) 2018, Linaro Ltd. All rights

> > > reserved.<BR>

> > > > > +

> > > > > +  This program and the accompanying materials

> > > > > +  are licensed and made available under the terms

> > > and conditions of the BSD License

> > > > > +  which accompanies this distribution.  The full

> > > text of the license may be found at

> > > > > +  http://opensource.org/licenses/bsd-license.php

> > > > > +

> > > > > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE

> > > ON AN "AS IS" BASIS,

> > > > > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY

> > > KIND, EITHER EXPRESS OR IMPLIED.

> > > > > +

> > > > > +**/

> > > > > +

> > > > > +#ifndef _GLOBAL_PLATFORM_H_

> > > > > +#define _GLOBAL_PLATFORM_H_

> > > > > +

> > > > > +#define TEEC_ORIGIN_COMMS

> > > 0x00000002

> > > > > +

> > > > > +#define TEEC_SUCCESS

> > > 0x00000000

> > > > > +#define TEEC_ERROR_BAD_PARAMETERS

> > > 0xFFFF0006

> > > > > +#define TEEC_ERROR_OUT_OF_MEMORY

> > > 0xFFFF000C

> > > > > +#define TEEC_ERROR_COMMUNICATION

> > > 0xFFFF000E

> > > > > +

> > > > > +#endif

> > > > > --

> > > > > 2.7.4

> > > > >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Kinney, Michael D Sept. 26, 2018, 6:02 p.m. | #6
Ard,

I think it depends on the license behind the click
through.

The fact that there is another .h file with the 
same content under a BSD license is good data point.
However, that other .h file does not reference the
spec with the click through license, so it is not
clear where the define values come from.  I looked at
the root of that tree, and it has a Readme.md that
has a link to a Notice.md that has a link to a Notice.md
in another repository that then has a link to the same 
specs that require the click through.

https://github.com/OP-TEE/optee_client/blob/master/README.md
https://github.com/OP-TEE/optee_client/blob/master/Notice.md
https://github.com/OP-TEE/optee_os/blob/master/Notice.md
https://globalplatform.org/specs-library/

Can you explain how this other project is using spec
content that requires a click through license.

Thanks,

Mike

> -----Original Message-----

> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]

> Sent: Tuesday, September 25, 2018 1:32 AM

> To: Sumit Garg <sumit.garg@linaro.org>

> Cc: Kinney, Michael D <michael.d.kinney@intel.com>;

> edk2-devel@lists.01.org; tee-dev@lists.linaro.org; Leif

> Lindholm <leif.lindholm@linaro.org>; Daniel Thompson

> <daniel.thompson@linaro.org>; Matteo Carlini

> <Matteo.Carlini@arm.com>; Achin Gupta

> <Achin.Gupta@arm.com>; Udit Kumar <udit.kumar@nxp.com>;

> Gao, Liming <liming.gao@intel.com>

> Subject: Re: [edk2][PATCH v2 1/2]

> MdePkg/IndustryStandard: Add Global Plaform header file

> 

> On Tue, 25 Sep 2018 at 10:27, Sumit Garg

> <sumit.garg@linaro.org> wrote:

> >

> > Thanks Mike for your comments.

> >

> > On Mon, 24 Sep 2018 at 22:20, Kinney, Michael D

> > <michael.d.kinney@intel.com> wrote:

> > >

> > > Hi Ard,

> > >

> > > The initial content is only from the TEE Client API

> Specification.

> > > I noticed that there is an errata to that spec as

> well.  Does this

> > > content follow the errata?

> >

> > Yes.

> >

> > >

> > > I also noticed that the specifications require the

> acceptance of

> > > an additional license to view the contents.  Is

> there a version of

> > > the content for this include file available that

> does not require

> > > the acceptance of an additional license?

> > >

> >

> > Yes, following is another version of the content for

> this include file:

> >

> > https://github.com/OP-

> TEE/optee_client/blob/master/public/tee_client_api.h#L16

> 3

> >

> 

> Thanks Sumit.

> 

> 

> Mike,

> 

> are you saying this content should not be [click

> through] license

> encumbered if we want to put it into MdePkg as an

> industry standard?

> 

> 

> > > > -----Original Message-----

> > > > From: Ard Biesheuvel

> [mailto:ard.biesheuvel@linaro.org]

> > > > Sent: Monday, September 24, 2018 1:26 AM

> > > > To: Sumit Garg <sumit.garg@linaro.org>

> > > > Cc: edk2-devel@lists.01.org; tee-

> dev@lists.linaro.org;

> > > > Leif Lindholm <leif.lindholm@linaro.org>; Daniel

> > > > Thompson <daniel.thompson@linaro.org>; Matteo

> Carlini

> > > > <Matteo.Carlini@arm.com>; Achin Gupta

> > > > <Achin.Gupta@arm.com>; Udit Kumar

> <udit.kumar@nxp.com>;

> > > > Kinney, Michael D <michael.d.kinney@intel.com>;

> Gao,

> > > > Liming <liming.gao@intel.com>

> > > > Subject: Re: [edk2][PATCH v2 1/2]

> > > > MdePkg/IndustryStandard: Add Global Plaform header

> file

> > > >

> > > > On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel

> > > > <ard.biesheuvel@linaro.org> wrote:

> > > > >

> > > > > On 27 August 2018 at 04:50, Sumit Garg

> > > > <sumit.garg@linaro.org> wrote:

> > > > > > Add Global Plaform header file specific to TEE

> > > > Client API Specification v1

> > > > > >

> > > >

> <http://www.globalplatform.org/specificationsdevice.asp

> > > > >.

> > > > > >

> > > > > > Cc: Michael D Kinney

> <michael.d.kinney@intel.com>

> > > > > > Cc: Liming Gao <liming.gao@intel.com>

> > > > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > > > > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > > > > > Contributed-under: TianoCore Contribution

> Agreement

> > > > 1.1

> > > > > > Signed-off-by: Sumit Garg

> <sumit.garg@linaro.org>

> > > > >

> > > > > Acked-by: Ard Biesheuvel

> <ard.biesheuvel@linaro.org>

> > > > >

> > > > > Mike,

> > > > >

> > > > > The header file is a bit light on content at

> > > > introduction, but as

> > > > > discussed online, we can add stuff as we go for

> other

> > > > use cases.

> > > > >

> > > >

> > > > ... as discussed *offline*

> > > >

> > > > >

> > > > > > ---

> > > > > >

> MdePkg/Include/IndustryStandard/GlobalPlatform.h |

> > > > 27 ++++++++++++++++++++++++

> > > > > >  1 file changed, 27 insertions(+)

> > > > > >  create mode 100644

> > > > MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > >

> > > > > > diff --git

> > > > a/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > > new file mode 100644

> > > > > > index 000000000000..72c5af4ef588

> > > > > > --- /dev/null

> > > > > > +++

> > > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > > @@ -0,0 +1,27 @@

> > > > > > +/** @file

> > > > > > +  Standardized Global Platform header file.

> > > > GlobalPlatform TEE Client API

> > > > > > +  Specification v1.0:

> > > >

> <http://www.globalplatform.org/specificationsdevice.asp

> > > > >

> > > > > > +

> > > > > > +  Copyright (c) 2018, Linaro Ltd. All rights

> > > > reserved.<BR>

> > > > > > +

> > > > > > +  This program and the accompanying materials

> > > > > > +  are licensed and made available under the

> terms

> > > > and conditions of the BSD License

> > > > > > +  which accompanies this distribution.  The

> full

> > > > text of the license may be found at

> > > > > > +  http://opensource.org/licenses/bsd-

> license.php

> > > > > > +

> > > > > > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD

> LICENSE

> > > > ON AN "AS IS" BASIS,

> > > > > > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF

> ANY

> > > > KIND, EITHER EXPRESS OR IMPLIED.

> > > > > > +

> > > > > > +**/

> > > > > > +

> > > > > > +#ifndef _GLOBAL_PLATFORM_H_

> > > > > > +#define _GLOBAL_PLATFORM_H_

> > > > > > +

> > > > > > +#define TEEC_ORIGIN_COMMS

> > > > 0x00000002

> > > > > > +

> > > > > > +#define TEEC_SUCCESS

> > > > 0x00000000

> > > > > > +#define TEEC_ERROR_BAD_PARAMETERS

> > > > 0xFFFF0006

> > > > > > +#define TEEC_ERROR_OUT_OF_MEMORY

> > > > 0xFFFF000C

> > > > > > +#define TEEC_ERROR_COMMUNICATION

> > > > 0xFFFF000E

> > > > > > +

> > > > > > +#endif

> > > > > > --

> > > > > > 2.7.4

> > > > > >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Sumit Garg Sept. 27, 2018, 12:10 p.m. | #7
+Joakim

Joakim,

Please help to answer below query from Michael regarding licensing
concerns for using Global Platform specs content in OP-TEE.

Regards,
Sumit

On Wed, 26 Sep 2018 at 23:32, Kinney, Michael D
<michael.d.kinney@intel.com> wrote:
>

> Ard,

>

> I think it depends on the license behind the click

> through.

>

> The fact that there is another .h file with the

> same content under a BSD license is good data point.

> However, that other .h file does not reference the

> spec with the click through license, so it is not

> clear where the define values come from.  I looked at

> the root of that tree, and it has a Readme.md that

> has a link to a Notice.md that has a link to a Notice.md

> in another repository that then has a link to the same

> specs that require the click through.

>

> https://github.com/OP-TEE/optee_client/blob/master/README.md

> https://github.com/OP-TEE/optee_client/blob/master/Notice.md

> https://github.com/OP-TEE/optee_os/blob/master/Notice.md

> https://globalplatform.org/specs-library/

>

> Can you explain how this other project is using spec

> content that requires a click through license.

>

> Thanks,

>

> Mike

>

> > -----Original Message-----

> > From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]

> > Sent: Tuesday, September 25, 2018 1:32 AM

> > To: Sumit Garg <sumit.garg@linaro.org>

> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>;

> > edk2-devel@lists.01.org; tee-dev@lists.linaro.org; Leif

> > Lindholm <leif.lindholm@linaro.org>; Daniel Thompson

> > <daniel.thompson@linaro.org>; Matteo Carlini

> > <Matteo.Carlini@arm.com>; Achin Gupta

> > <Achin.Gupta@arm.com>; Udit Kumar <udit.kumar@nxp.com>;

> > Gao, Liming <liming.gao@intel.com>

> > Subject: Re: [edk2][PATCH v2 1/2]

> > MdePkg/IndustryStandard: Add Global Plaform header file

> >

> > On Tue, 25 Sep 2018 at 10:27, Sumit Garg

> > <sumit.garg@linaro.org> wrote:

> > >

> > > Thanks Mike for your comments.

> > >

> > > On Mon, 24 Sep 2018 at 22:20, Kinney, Michael D

> > > <michael.d.kinney@intel.com> wrote:

> > > >

> > > > Hi Ard,

> > > >

> > > > The initial content is only from the TEE Client API

> > Specification.

> > > > I noticed that there is an errata to that spec as

> > well.  Does this

> > > > content follow the errata?

> > >

> > > Yes.

> > >

> > > >

> > > > I also noticed that the specifications require the

> > acceptance of

> > > > an additional license to view the contents.  Is

> > there a version of

> > > > the content for this include file available that

> > does not require

> > > > the acceptance of an additional license?

> > > >

> > >

> > > Yes, following is another version of the content for

> > this include file:

> > >

> > > https://github.com/OP-

> > TEE/optee_client/blob/master/public/tee_client_api.h#L16

> > 3

> > >

> >

> > Thanks Sumit.

> >

> >

> > Mike,

> >

> > are you saying this content should not be [click

> > through] license

> > encumbered if we want to put it into MdePkg as an

> > industry standard?

> >

> >

> > > > > -----Original Message-----

> > > > > From: Ard Biesheuvel

> > [mailto:ard.biesheuvel@linaro.org]

> > > > > Sent: Monday, September 24, 2018 1:26 AM

> > > > > To: Sumit Garg <sumit.garg@linaro.org>

> > > > > Cc: edk2-devel@lists.01.org; tee-

> > dev@lists.linaro.org;

> > > > > Leif Lindholm <leif.lindholm@linaro.org>; Daniel

> > > > > Thompson <daniel.thompson@linaro.org>; Matteo

> > Carlini

> > > > > <Matteo.Carlini@arm.com>; Achin Gupta

> > > > > <Achin.Gupta@arm.com>; Udit Kumar

> > <udit.kumar@nxp.com>;

> > > > > Kinney, Michael D <michael.d.kinney@intel.com>;

> > Gao,

> > > > > Liming <liming.gao@intel.com>

> > > > > Subject: Re: [edk2][PATCH v2 1/2]

> > > > > MdePkg/IndustryStandard: Add Global Plaform header

> > file

> > > > >

> > > > > On Sat, 22 Sep 2018 at 01:15, Ard Biesheuvel

> > > > > <ard.biesheuvel@linaro.org> wrote:

> > > > > >

> > > > > > On 27 August 2018 at 04:50, Sumit Garg

> > > > > <sumit.garg@linaro.org> wrote:

> > > > > > > Add Global Plaform header file specific to TEE

> > > > > Client API Specification v1

> > > > > > >

> > > > >

> > <http://www.globalplatform.org/specificationsdevice.asp

> > > > > >.

> > > > > > >

> > > > > > > Cc: Michael D Kinney

> > <michael.d.kinney@intel.com>

> > > > > > > Cc: Liming Gao <liming.gao@intel.com>

> > > > > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > > > > > > Cc: Leif Lindholm <leif.lindholm@linaro.org>

> > > > > > > Contributed-under: TianoCore Contribution

> > Agreement

> > > > > 1.1

> > > > > > > Signed-off-by: Sumit Garg

> > <sumit.garg@linaro.org>

> > > > > >

> > > > > > Acked-by: Ard Biesheuvel

> > <ard.biesheuvel@linaro.org>

> > > > > >

> > > > > > Mike,

> > > > > >

> > > > > > The header file is a bit light on content at

> > > > > introduction, but as

> > > > > > discussed online, we can add stuff as we go for

> > other

> > > > > use cases.

> > > > > >

> > > > >

> > > > > ... as discussed *offline*

> > > > >

> > > > > >

> > > > > > > ---

> > > > > > >

> > MdePkg/Include/IndustryStandard/GlobalPlatform.h |

> > > > > 27 ++++++++++++++++++++++++

> > > > > > >  1 file changed, 27 insertions(+)

> > > > > > >  create mode 100644

> > > > > MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > > >

> > > > > > > diff --git

> > > > > a/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > > > new file mode 100644

> > > > > > > index 000000000000..72c5af4ef588

> > > > > > > --- /dev/null

> > > > > > > +++

> > > > > b/MdePkg/Include/IndustryStandard/GlobalPlatform.h

> > > > > > > @@ -0,0 +1,27 @@

> > > > > > > +/** @file

> > > > > > > +  Standardized Global Platform header file.

> > > > > GlobalPlatform TEE Client API

> > > > > > > +  Specification v1.0:

> > > > >

> > <http://www.globalplatform.org/specificationsdevice.asp

> > > > > >

> > > > > > > +

> > > > > > > +  Copyright (c) 2018, Linaro Ltd. All rights

> > > > > reserved.<BR>

> > > > > > > +

> > > > > > > +  This program and the accompanying materials

> > > > > > > +  are licensed and made available under the

> > terms

> > > > > and conditions of the BSD License

> > > > > > > +  which accompanies this distribution.  The

> > full

> > > > > text of the license may be found at

> > > > > > > +  http://opensource.org/licenses/bsd-

> > license.php

> > > > > > > +

> > > > > > > +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD

> > LICENSE

> > > > > ON AN "AS IS" BASIS,

> > > > > > > +  WITHOUT WARRANTIES OR REPRESENTATIONS OF

> > ANY

> > > > > KIND, EITHER EXPRESS OR IMPLIED.

> > > > > > > +

> > > > > > > +**/

> > > > > > > +

> > > > > > > +#ifndef _GLOBAL_PLATFORM_H_

> > > > > > > +#define _GLOBAL_PLATFORM_H_

> > > > > > > +

> > > > > > > +#define TEEC_ORIGIN_COMMS

> > > > > 0x00000002

> > > > > > > +

> > > > > > > +#define TEEC_SUCCESS

> > > > > 0x00000000

> > > > > > > +#define TEEC_ERROR_BAD_PARAMETERS

> > > > > 0xFFFF0006

> > > > > > > +#define TEEC_ERROR_OUT_OF_MEMORY

> > > > > 0xFFFF000C

> > > > > > > +#define TEEC_ERROR_COMMUNICATION

> > > > > 0xFFFF000E

> > > > > > > +

> > > > > > > +#endif

> > > > > > > --

> > > > > > > 2.7.4

> > > > > > >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Sumit Garg Sept. 28, 2018, 6:29 a.m. | #8
On Thu, 27 Sep 2018 at 18:21, Joakim Bech <joakim.bech@linaro.org> wrote:
>
> Hi,
>
> On Thu, Sep 27, 2018 at 05:40:49PM +0530, Sumit Garg wrote:
> > +Joakim
> >
> > Joakim,
> >
> > Please help to answer below query from Michael regarding licensing
> > concerns for using Global Platform specs content in OP-TEE.
> >
> This dates back to ~2014 before OP-TEE had been pushed as an open source
> project and indeed the click-through license was one thing that was
> discussed before we decided to publish this. Having that said, the legal
> people at ST (back then the project was owned by ST) concluded that we
> could use the GP click-through license for the APIs, this is a
> copy/paste from an email discussion with ST (in 2014).
>
> "On the legal side, one week ago our legal dedicated to this matter
> wrote “Progress! Finally, having discussed with colleagues, we have
> concluded that we can use the GP click-through license for the APIs.
> Therefore I just need to tidy up the following points and we will be
> able to provide both the CLA and the license terms for the distribution
> quite quickly […].”
>
> I don't know how the discussion went inside ST nor who the legal person
> was, but since ST had people on GlobalPlatform boards back then, I
> suppose that the ST legal people went that way. The only way to find out
> more about this is to talk directly to ST legal people who were involved
> in this back in the days.
>

Thanks Joakim for this info.

Mike,

Please share your views on this and if we could include content from
Global Platform spec into MdePkg as an industry standard.

-Sumit
Leif Lindholm Sept. 28, 2018, 11:50 a.m. | #9
Hi Sumit,

On Fri, Sep 28, 2018 at 11:59:33AM +0530, Sumit Garg wrote:
> > > Please help to answer below query from Michael regarding licensing
> > > concerns for using Global Platform specs content in OP-TEE.
> >
> > This dates back to ~2014 before OP-TEE had been pushed as an open source
> > project and indeed the click-through license was one thing that was
> > discussed before we decided to publish this. Having that said, the legal
> > people at ST (back then the project was owned by ST) concluded that we
> > could use the GP click-through license for the APIs, this is a
> > copy/paste from an email discussion with ST (in 2014).
> >
> > "On the legal side, one week ago our legal dedicated to this matter
> > wrote “Progress! Finally, having discussed with colleagues, we have
> > concluded that we can use the GP click-through license for the APIs.
> > Therefore I just need to tidy up the following points and we will be
> > able to provide both the CLA and the license terms for the distribution
> > quite quickly […].”
> >
> > I don't know how the discussion went inside ST nor who the legal person
> > was, but since ST had people on GlobalPlatform boards back then, I
> > suppose that the ST legal people went that way. The only way to find out
> > more about this is to talk directly to ST legal people who were involved
> > in this back in the days.
> 
> Thanks Joakim for this info.
> 
> Mike,
> 
> Please share your views on this and if we could include content from
> Global Platform spec into MdePkg as an industry standard.

Having had a discussion about this, the bit that concerns us the most
is the export restrictions clause of the click-through license which
contains the very unfortunate part "or any product complying with the
Specification.".

Someone must have thought this interface defines cryptography, rather
than an API through which to call cryptography functions.

I don't like it, but without a change in that license I don't see how
we can include this interface in edk2. One workaround would be to
publish this in a separate repository on https://github.com/OP-TEE/
which could be included in builds using PACKAGES_PATH (like we do with
edk2-platforms and edk2-non-osi).

/
    Leif

Patch

diff --git a/MdePkg/Include/IndustryStandard/GlobalPlatform.h b/MdePkg/Include/IndustryStandard/GlobalPlatform.h
new file mode 100644
index 000000000000..72c5af4ef588
--- /dev/null
+++ b/MdePkg/Include/IndustryStandard/GlobalPlatform.h
@@ -0,0 +1,27 @@ 
+/** @file
+  Standardized Global Platform header file. GlobalPlatform TEE Client API
+  Specification v1.0: <http://www.globalplatform.org/specificationsdevice.asp>
+
+  Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _GLOBAL_PLATFORM_H_
+#define _GLOBAL_PLATFORM_H_
+
+#define TEEC_ORIGIN_COMMS                       0x00000002
+
+#define TEEC_SUCCESS                            0x00000000
+#define TEEC_ERROR_BAD_PARAMETERS               0xFFFF0006
+#define TEEC_ERROR_OUT_OF_MEMORY                0xFFFF000C
+#define TEEC_ERROR_COMMUNICATION                0xFFFF000E
+
+#endif