<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm63xx/u-boot/drivers/tpm/Kconfig, branch master</title>
<subtitle>Broadcom-s U-Boot</subtitle>
<id>https://git.openwrt.org/project/bcm63xx/u-boot/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/bcm63xx/u-boot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/'/>
<updated>2018-07-28T15:58:09Z</updated>
<entry>
<title>tpm: make TPM_V2 be compiled by default</title>
<updated>2018-07-28T15:58:09Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-07-19T20:35:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=58233075f972bacd2acfb47d1bc8fd069a1c3b10'/>
<id>urn:sha1:58233075f972bacd2acfb47d1bc8fd069a1c3b10</id>
<content type='text'>
TPM_V1 was already compiled by default. Now that both can be compiled
at the same time, compiled them both by default.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tpm: allow TPM v1 and v2 to be compiled at the same time</title>
<updated>2018-07-28T15:57:38Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-07-19T20:35:09Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=2a2096ea6001cc65fa91e2bc622da48c8eb26a06'/>
<id>urn:sha1:2a2096ea6001cc65fa91e2bc622da48c8eb26a06</id>
<content type='text'>
While there is probably no reason to do so in a real life situation, it
will allow to compile test both stacks with the same sandbox defconfig.

As we cannot define two 'tpm' commands at the same time, the command for
TPM v1 is still called 'tpm' and the one for TPM v2 'tpm2'. While this
is the exact command name that must be written into eg. test files, any
user already using the TPM v2 stack can continue to do so by just writing
'tpm' because as long as TPM v1 support is not compiled, U-Boot prompt
will search for the closest command named after 'tpm'.

The command set can also be changed at runtime (not supported yet, but
ready to be), but as one can compile only either one stack or the other,
there is still one spot in the code where conditionals are used: to
retrieve the v1 or v2 command set.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: In sandbox_tpm2_fill_buf() use NULL not \0 to ensure NULL
terminated string due to LLVM warning]
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>tpm: remove stale symbol in Kconfig</title>
<updated>2018-07-28T15:55:32Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-07-19T20:35:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=8a7aa3e27921d330ed9828c7ef09079007c5fcee'/>
<id>urn:sha1:8a7aa3e27921d330ed9828c7ef09079007c5fcee</id>
<content type='text'>
The TPM_DRIVER_SELECTED symbol was used in one of the initial series
about TPMv2 but its use has been dropped, making these selects
useless, remove them.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tpm: compile Sandbox driver by default</title>
<updated>2018-07-28T15:55:32Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-07-19T20:35:07Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=a0cf1d0ce03544a60a135ea9c3ccab3830a8fc11'/>
<id>urn:sha1:a0cf1d0ce03544a60a135ea9c3ccab3830a8fc11</id>
<content type='text'>
When Sandbox and the TPM stack are both selected, compile Sandbox TPM
driver by default.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tpm: add a Sandbox TPMv2.x driver</title>
<updated>2018-05-26T00:13:00Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-05-15T09:57:25Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=2bae712f7ab9525421662fbbbe1445b00cbee5b0'/>
<id>urn:sha1:2bae712f7ab9525421662fbbbe1445b00cbee5b0</id>
<content type='text'>
This driver can emulate all the basic functionalities of a TPMv2.x
chip and should behave like them during regular testing.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>tpm: add support for TPMv2.x SPI modules</title>
<updated>2018-05-26T00:12:59Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-05-15T09:57:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=eb46910b4bf03e2651533473dd75267704a6c659'/>
<id>urn:sha1:eb46910b4bf03e2651533473dd75267704a6c659</id>
<content type='text'>
Add the tpm2_tis_spi driver that should support any TPMv2 compliant
(SPI) module.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tpm: disociate TPMv1.x specific and generic code</title>
<updated>2018-05-26T00:12:55Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-05-15T09:57:06Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=d677bfe2f7914367d1caa6146b34e86d0df1c75d'/>
<id>urn:sha1:d677bfe2f7914367d1caa6146b34e86d0df1c75d</id>
<content type='text'>
There are no changes in this commit but a new organization of the code
as follow.

* cmd/ directory:
        &gt; move existing code from cmd/tpm.c in cmd/tpm-common.c
	&gt; move specific code in cmd/tpm-v1.c
	&gt; create a specific header file with generic definitions for
	  commands only called cmd/tpm-user-utils.h

* lib/ directory:
        &gt; move existing code from lib/tpm.c in lib/tpm-common.c
	&gt; move specific code in lib/tpm-v1.c
	&gt; create a specific header file with generic definitions for
	  the library itself called lib/tpm-utils.h

* include/ directory:
        &gt; move existing code from include/tpm.h in include/tpm-common.h
	&gt; move specific code in include/tpm-v1.h

Code designated as 'common' is compiled if TPM are used. Code designated
as 'specific' is compiled only if the right specification has been
selected.

All files include tpm-common.h.
Files in cmd/ include tpm-user-utils.h.
Files in lib/ include tpm-utils.h.
Depending on the specification, files may include either (not both)
tpm-v1.h or tpm-v2.h.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
[trini: Fix a few more cases of tpm.h -&gt; tpm-v1.h, some Kconfig logic]
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>tpm: prepare introduction of TPMv2.x support in Kconfig</title>
<updated>2018-05-26T00:12:33Z</updated>
<author>
<name>Miquel Raynal</name>
</author>
<published>2018-05-15T09:57:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=9f9ce3c369b7fbcc47496331ff28fad80302a42c'/>
<id>urn:sha1:9f9ce3c369b7fbcc47496331ff28fad80302a42c</id>
<content type='text'>
Because both major revisions are not compatible at all, let's make them
mutually exclusive in Kconfig. This way we will be sure, when using a
command or a library function that it is supported by the right
revision.

Current drivers are currently prefixed by "tpm_", we will prefix TPMv2.x
files by "tpm2_" to make the distinction without moving everything.

The Kconfig menu about TPM drivers is now divided into two sections, one
for each specification. Compliant drivers with one specification will
only show up if this specification _only_ has been selected, otherwise a
comment is displayed.

Once a driver is selected by the user, it selects automatically a
boolean value, that is needed in order to activate the TPM commands.
Selecting the TPM commands will automatically select the right
command/library files.

Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
[trini: Rework deps as TPM_V1 and TPM_V2 depend on TPM,
        drop TPM_DRIVER_SELECTED]
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>lib: tpm: Add command to list resources</title>
<updated>2017-03-26T19:22:58Z</updated>
<author>
<name>mario.six@gdsys.cc</name>
</author>
<published>2017-03-20T09:28:30Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=3d1df0e363ff13b7aed17f9bb576d045f26c3f74'/>
<id>urn:sha1:3d1df0e363ff13b7aed17f9bb576d045f26c3f74</id>
<content type='text'>
It is sometimes convenient to know how many and/or which resources are
currently loaded into a TPG, e.g. to test is a flush operation succeeded.

Hence, we add a command that lists the resources of a given type currently
loaded into the TPM.

Signed-off-by: Mario Six &lt;mario.six@gdsys.cc&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>tpm: Add function to load keys via their parent's SHA1 hash</title>
<updated>2017-03-26T19:22:58Z</updated>
<author>
<name>mario.six@gdsys.cc</name>
</author>
<published>2017-03-20T09:28:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/bcm63xx/u-boot/commit/?id=0f4b2ba1762d74c0b5520d99a58796d6ca78abf0'/>
<id>urn:sha1:0f4b2ba1762d74c0b5520d99a58796d6ca78abf0</id>
<content type='text'>
If we want to load a key into a TPM, we need to know the designated parent
key's handle, so that the TPM is able to insert the key at the correct place in
the key hierarchy.

However, if we want to load a key whose designated parent key we also
previously loaded ourselves, we first need to memorize this parent key's handle
(since the handles for the key are chosen at random when they are inserted into
the TPM). If we are, however, unable to do so, for example if the parent key is
loaded into the TPM during production, and its child key during the actual
boot, we must find a different mechanism to identify the parent key.

To solve this problem, we add a function that allows U-Boot to load a key into
the TPM using their designated parent key's SHA1 hash, and the corresponding
auth data.

Signed-off-by: Mario Six &lt;mario.six@gdsys.cc&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
</feed>
