Message ID | 1510016336-4086-1-git-send-email-stefanb@linux.vnet.ibm.com |
---|---|
Headers | show |
Series | tpm: Match frontend and backend buffer sizes (not 2.11) | expand |
On Mon, Nov 06, 2017 at 07:58:51PM -0500, Stefan Berger wrote: > This patch series does away with the hard coded buffer size in the TIS > frontend and instead retrieves the buffer size from the device that's > being used. So it gets it from the host device or the external emulator. > In case the frontend (CRB) cannot support the backend's current buffer size > (typically 4k) it can adjust the buffer size the emulator is working with > so that we will not run into the problem that the backend produces packets > that the frontend cannot deliver to due mismatching buffer sizes. > The approach looks ok to me. I don't have enough TPM/backend knowledge to say how relevant that is in the long run. Modifying the CRB device to set the buffer size to qemu CRB_CTRL_CMD_SIZE works. Windows 10 seems happy at least. Just a few remarks, I suppose you'll send a v2 soon, thanks > Stefan > > Stefan Berger (5): > tpm: Move getting TPM buffer size to backends > tpm: pull tpm_util_send() out of tpm_util_test() > tpm: tpm_passthrough: Read the buffer size from the host device > tpm: tpm_emulator: get and set buffer size of device > tpm: tpm_passthrough: Fail startup if FE buffer size < BE buffer size > > backends/tpm.c | 13 +++- > hw/tpm/tpm_emulator.c | 83 +++++++++++++++++++++++- > hw/tpm/tpm_int.h | 9 +++ > hw/tpm/tpm_ioctl.h | 28 +++++++- > hw/tpm/tpm_passthrough.c | 30 +++++++++ > hw/tpm/tpm_tis.c | 18 +++--- > hw/tpm/tpm_util.c | 149 +++++++++++++++++++++++++++++++++++++++++-- > hw/tpm/tpm_util.h | 3 + > include/sysemu/tpm_backend.h | 17 ++++- > 9 files changed, 327 insertions(+), 23 deletions(-) > > -- > 2.5.5 > >