RE: [PATCH v2 1/3] ftpm: dt-binding: add dts documentation for fTPM driver

From: Thirupathaiah Annapureddy
Date: Wed Apr 10 2019 - 14:11:11 EST




> -----Original Message-----
> From: Jason Gunthorpe <jgg@xxxxxxxx>
> Sent: Wednesday, April 10, 2019 10:57 AM
> To: Sasha Levin <sashal@xxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>; Peter Huewe <peterhuewe@xxxxxx>;
> Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>; Mark Rutland
> <mark.rutland@xxxxxxx>; Jonathan Corbet <corbet@xxxxxxx>; Arnd Bergmann
> <arnd@xxxxxxxx>; Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; Linux Doc Mailing List <linux-doc@xxxxxxxxxxxxxxx>;
> linux-integrity@xxxxxxxxxxxxxxx; Microsoft Linux Kernel List <linux-
> kernel@xxxxxxxxxxxxx>; Thirupathaiah Annapureddy <thiruan@xxxxxxxxxxxxx>;
> Bryan Kelly (CSI) <bryankel@xxxxxxxxxxxxx>
> Subject: Re: [PATCH v2 1/3] ftpm: dt-binding: add dts documentation for
> fTPM driver
>
> On Wed, Apr 10, 2019 at 01:53:59PM -0400, Sasha Levin wrote:
> > On Wed, Apr 10, 2019 at 02:03:16PM -0300, Jason Gunthorpe wrote:
> > > On Wed, Apr 10, 2019 at 12:01:37PM -0500, Rob Herring wrote:
> > > > On Wed, Apr 10, 2019 at 11:19 AM Sasha Levin <sashal@xxxxxxxxxx>
> wrote:
> > > > >
> > > > > On Tue, Apr 09, 2019 at 04:18:29PM -0500, Rob Herring wrote:
> > > > > >On Tue, Apr 9, 2019 at 1:50 PM Sasha Levin <sashal@xxxxxxxxxx>
> wrote:
> > > > > >>
> > > > > >> The parameters are similar to the ones used by IBM's vTPM and
> the
> > > > > >> various I2C tpm drivers.
> > > > > >
> > > > > >Bindings describe h/w (or firmware interfaces in this case), not
> drivers.
> > > > > >
> > > > > >>
> > > > > >> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > > > > >> .../bindings/security/tpm/tpm_ftpm_tee.txt | 13
> +++++++++++++
> > > > > >> .../devicetree/bindings/vendor-prefixes.txt | 1 +
> > > > > >> 2 files changed, 14 insertions(+)
> > > > > >> create mode 100644
> Documentation/devicetree/bindings/security/tpm/tpm_ftpm_tee.txt
> > > > > >>
> > > > > >> diff --git
> a/Documentation/devicetree/bindings/security/tpm/tpm_ftpm_tee.txt
> b/Documentation/devicetree/bindings/security/tpm/tpm_ftpm_tee.txt
> > > > > >> new file mode 100644
> > > > > >> index 000000000000..20fca67a56c4
> > > > > >> +++
> b/Documentation/devicetree/bindings/security/tpm/tpm_ftpm_tee.txt
> > > > > >> @@ -0,0 +1,13 @@
> > > > > >> +Required properties:
> > > > > >> +- compatible: should be "microsoft,ftpm"
> > > > > >> +- linux,sml-base: 64-bit base address of the reserved memory
> allocated
> > > > > >> + for the firmware event log
> > > > > >> +- linux,sml-size: size of the memory allocated for the firmware
> event log
> > > > > >
> > > > > >Firmware is defining linux specific properties? What if I want to
> run
> > > > > >BSD? We should use 'reg' here instead.
> > > > >
> > > > > This is based on already existing code that defines these names,
> see
> > > > > tpm_read_log_of() in drivers/char/tpm/eventlog/of.c .
> > > >
> > > > BTW, that probably needs updating to handle endianness correctly.
> > >
> > > IIRC this legacy IBM code has broken endianness in the firmware..
> > >
> > > All that stuff in read_log_of, and the related DT stuff, is historical
> > > IBM special case-ness and should not be copied into new things.
> >
> > The fTPM driver does not use it on it's own, so I guess I can just drop
> > this patch then?
>
> If your ARM system boots via EFI then it should pass the firmware
> event log through EFI mechanisms, IIRC.
>
> Otherwise maybe you could make a case for using this, but only if the
> old IBM stuff is perfectly emulated, bugs and all.
>
> Do you even have an event log?
>

Our ARM system is booting using U-boot and Device Tree.
So the ACPI/EFI table mechanism to pass binary boot measurements won't be applicable.

We have event logs working and we are able to successfully read them using
/sys/kernel/security/tpm0/binary_bios_measurements and parse them

--Thiru

> Jason