]> git.proxmox.com Git - mirror_qemu.git/commit
tpm: add CRB device
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 29 Jan 2018 18:33:07 +0000 (19:33 +0100)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Mon, 29 Jan 2018 19:22:50 +0000 (14:22 -0500)
commit4ab6cb4c62273bb46102e5ae1d6af691b47cbcd8
tree92eb34d622967e4ff8f8e6e5b4338f773617dca2
parent6a8a23549a6ddb4af47b032db76badf131c5c2e6
tpm: add CRB device

tpm_crb is a device for TPM 2.0 Command Response Buffer (CRB)
Interface as defined in TCG PC Client Platform TPM Profile (PTP)
Specification Family “2.0” Level 00 Revision 01.03 v22.

The PTP allows device implementation to switch between TIS and CRB
model at run time, but given that CRB is a simpler device to
implement, I chose to implement it as a different device.

The device doesn't implement other locality than 0 for now (my laptop
TPM doesn't either, so I assume this isn't so bad)

Tested with some success with Linux upstream and Windows 10, seabios &
modified ovmf. The device is recognized and correctly transmit
command/response with passthrough & emu. However, we are missing PPI
ACPI part atm.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
default-configs/i386-softmmu.mak
default-configs/x86_64-softmmu.mak
hw/i386/acpi-build.c
hw/tpm/Makefile.objs
hw/tpm/tpm_crb.c [new file with mode: 0644]
include/hw/acpi/tpm.h
include/sysemu/tpm.h
qapi/tpm.json
tests/Makefile.include
tests/tpm-crb-test.c [new file with mode: 0644]