[edk2-devel] [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence Interface

Yao, Jiewen jiewen.yao at intel.com
Fri Jan 3 05:30:01 UTC 2020


What is the platform use case?
Please give at least some examples.


> -----Original Message-----
> From: Gao, Zhichao <zhichao.gao at intel.com>
> Sent: Friday, January 3, 2020 1:08 PM
> To: Yao, Jiewen <jiewen.yao at intel.com>; devel at edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang at intel.com>; Zhang, Chao B
> <chao.b.zhang at intel.com>; Justen, Jordan L <jordan.l.justen at intel.com>;
> Laszlo Ersek <lersek at redhat.com>; Ard Biesheuvel <ard.biesheuvel at linaro.org>;
> Marc-André Lureau <marcandre.lureau at redhat.com>; Stefan Berger
> <stefanb at linux.ibm.com>
> Subject: RE: [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence
> Interface
> 
> See below.
> 
> > -----Original Message-----
> > From: Yao, Jiewen
> > Sent: Friday, January 3, 2020 11:09 AM
> > To: Gao, Zhichao <zhichao.gao at intel.com>; devel at edk2.groups.io
> > Cc: Wang, Jian J <jian.j.wang at intel.com>; Zhang, Chao B
> > <chao.b.zhang at intel.com>; Justen, Jordan L <jordan.l.justen at intel.com>;
> > Laszlo Ersek <lersek at redhat.com>; Ard Biesheuvel
> > <ard.biesheuvel at linaro.org>; Marc-André Lureau
> > <marcandre.lureau at redhat.com>; Stefan Berger <stefanb at linux.ibm.com>
> > Subject: RE: [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence
> > Interface
> >
> > Hi
> > I am not clear on the purpose of this extension.
> >
> > The Bugzilla just describes the solution.
> > But what is the problem you are trying to resolve?
> >
> > I completely don’t understand.
> >
> > Please do consider add the background information there.
> > Or it is hard for me to comment.
> >
> >
> > Thank you
> > Yao Jiewen
> >
> > > -----Original Message-----
> > > From: Gao, Zhichao <zhichao.gao at intel.com>
> > > Sent: Friday, January 3, 2020 11:04 AM
> > > To: devel at edk2.groups.io
> > > Cc: Yao, Jiewen <jiewen.yao at intel.com>; Wang, Jian J
> > > <jian.j.wang at intel.com>; Zhang, Chao B <chao.b.zhang at intel.com>;
> > > Justen, Jordan L <jordan.l.justen at intel.com>; Laszlo Ersek
> > > <lersek at redhat.com>; Ard Biesheuvel <ard.biesheuvel at linaro.org>;
> > > Marc-André Lureau <marcandre.lureau at redhat.com>; Stefan Berger
> > > <stefanb at linux.ibm.com>
> > > Subject: [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence
> > > Interface
> > >
> > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2443
> > >
> > > 1. Add two interfaces Tcg2PpVendorLibExecutePendingRequestEx and
> > > Tcg2PpVendorLibSubmitRequestToPreOSFunctionEx to Tcg2PpVendorLib. It
> > > has one more parameter PPData (type EFI_TCG2_PHYSICAL_PRESENCE) to
> > > transfer more data.
> > > 2. Use the Ex version instead of original one in
> > > Tcg2PhysicalPresenceLib 3. Add a pcd
> > > PcdPhysicalPresenceUserConfirmTimeout to control the user confirm
> > > input key timeout.
> > > 4. Add FunctionIndex to structure type EFI_TCG2_PHYSICAL_PRESENCE to
> > > transfer
> > > mTcgNvs->PhysicalPresence.Parameter data.
> > > 5. Add parameter FunctionIndex to
> > > Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunctionEx
> > > to initialize the PPdata.
> 
> Background:
> Some platforms implement their own Tcg2PpVendorLib and want to operate
> with more parameters.
> 
> #1-#2 and #4-#5 changes aim to add extend the interface with PPdata. PPdata
> pointer can transfer most of the required parameter to do the operation.
> All the extend changes is for the PPdata and transfer to the platform
> implemented interfaces. This would affect the platforms which implement their
> own Tcg2PpVendorLib.
> But for open source platform, I didn't see any implementation of it.
> 
> #3 aims to add a pcd to let the customers to decide whether to wait for the
> input forever or with a timeout count.
> 
> > > 6. Move Tcg2ConfigNvData.h from SecurityPkg/Tcg/Tcg2Config to
> > > SecurityPkg/Include.
> > > It is useful for platform code to implement their own
> Tcg2PhysicalPresenceLib.
> 
> #6 is a movement to decrease the duplicated code at platform side if the
> platform code implement its own TCG library or driver.
> 
> > > 7. Replace the ASSERT with error code return in TpmPhysicalPresenceLib
> 
> #7 aims to remove the ASSERT because it is not critical. ASSERT when fail to call
> TpmPhysicalPresence and GetTpmCapability is not a good behavior.
> 
> > > 8. Fix one operation
> > > (PHYSICAL_PRESENCE_DEACTIVATE_DISABLE_OWNER_FALSE) flow of
> > > TcgPhysicalPresenceLib (refer to Physical Presence Interface Spec Page 37).
> 
> #8 is a bug fix to follow the spec.
> 
> Thanks,
> Zhichao
> 
> > >
> > > Cc: Jiewen Yao <jiewen.yao at intel.com>
> > > Cc: Jian J Wang <jian.j.wang at intel.com>
> > > Cc: Chao Zhang <chao.b.zhang at intel.com>
> > > Cc: Jordan Justen <jordan.l.justen at intel.com>
> > > Cc: Laszlo Ersek <lersek at redhat.com>
> > > Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> > > Cc: Marc-André Lureau <marcandre.lureau at redhat.com>
> > > Cc: Stefan Berger <stefanb at linux.ibm.com>
> > > Signed-off-by: Zhichao Gao <zhichao.gao at intel.com> Zhichao Gao (13):
> > >   SecurityPkg/Tcg2PpVerndorLib: Add two Ex function to handle PPdata
> > >   SecurityPkg/Tcg2PpVendorLib: Add implementation of new Ex function
> > >   SecurityPkg/Tcg2PhysicalPresenceLib: Use the new Ex function
> > >   SecurityPkg/SmmTcg2PhysicalPresenceLib: Use the new Ex function
> > >   SecurityPkg/dec: Add a pcd for user response wait time
> > >   OvmfPkg/Tcg2PhysicalPresenceLib: Use pcd for user response wait time
> > >   SecurityPkg/Tcg2PhysicalPresenceLib: Use Pcd for user resp wait time
> > >   SecurityPkg/TcgPyhsicalPresenceLib: Use Pcd for user resp wait time
> > >   SecurityPkg/Tcg2PhysicalPresenceData.h: Add FunctionIndex for PPdata
> > >   SecurityPkg/Tcg2PhysicalPresenceLib: Extend the submit preOS func
> > >   SecurityPkg: Move the Tcg2ConfigNvData.h to Include folder
> > >   SecurityPkg/TcgPhysicalPresenceLib: Replace the ASSERT with error code
> > >   SecurityPkg/TcgPhysicalPresenceLib: Fix the operation of 11
> > >
> > >  .../DxeTcg2PhysicalPresenceLib.c              |  63 +++++++---
> > >  .../DxeTcg2PhysicalPresenceLib.inf            |   6 +-
> > >  .../Include/Guid/Tcg2PhysicalPresenceData.h   |   3 +-
> > >  .../Include/Library/Tcg2PhysicalPresenceLib.h |   4 +-
> > >  SecurityPkg/Include/Library/Tcg2PpVendorLib.h |  54 ++++++++-
> > >  .../Tcg2Config => Include}/Tcg2ConfigNvData.h |   2 +-
> > >  .../DxeTcg2PhysicalPresenceLib.c              |  68 ++++++++---
> > >  .../DxeTcg2PhysicalPresenceLib.inf            |   4 +-
> > >  .../DxeTcgPhysicalPresenceLib.c               | 110 ++++++++++++------
> > >  .../DxeTcgPhysicalPresenceLib.inf             |   6 +-
> > >  .../SmmTcg2PhysicalPresenceLib.c              |  15 ++-
> > >  .../Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.c |  61 +++++++++-
> > >  SecurityPkg/SecurityPkg.dec                   |   7 +-
> > >  SecurityPkg/SecurityPkg.uni                   |   7 +-
> > >  SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr     |   4 +-
> > >  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf  |   3 +-
> > >  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h   |   4 +-
> > >  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf  |   3 +-
> > >  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c   |   4 +-
> > >  SecurityPkg/Tcg/Tcg2Config/TpmDetection.c     |   4 +-
> > >  SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c             |  10 +-
> > >  21 files changed, 347 insertions(+), 95 deletions(-)  rename
> > > SecurityPkg/{Tcg/Tcg2Config => Include}/Tcg2ConfigNvData.h (94%)
> > >
> > > --
> > > 2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#52729): https://edk2.groups.io/g/devel/message/52729
Mute This Topic: https://groups.io/mt/69392326/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list