qemu/hw/i386
Marc-André Lureau 4ab6cb4c62 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>
2018-01-29 14:22:50 -05:00
..
kvm i8259: move TYPE_INTERRUPT_STATS_PROVIDER upper 2017-12-21 09:30:32 +01:00
xen Merge remote-tracking branch 'origin/master' into HEAD 2018-01-11 22:03:50 +02:00
acpi-build.c tpm: add CRB device 2018-01-29 14:22:50 -05:00
acpi-build.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
amd_iommu.c x86_iommu: Move machine check to x86_iommu_realize() 2018-01-18 21:52:38 +02:00
amd_iommu.h amd_iommu: avoid needless includes in header file 2017-12-18 17:07:02 +03:00
intel_iommu_internal.h intel-iommu: Extend address width to 48 bits 2018-01-18 21:52:38 +02:00
intel_iommu.c x86_iommu: Move machine check to x86_iommu_realize() 2018-01-18 21:52:38 +02:00
kvmvapic.c mttcg/i386: Patch instruction using async_safe_* framework 2017-07-14 12:04:35 +02:00
Makefile.objs i386/pc: move vmmouse.c to hw/i386/ 2017-12-18 17:07:02 +03:00
multiboot.c multiboot: validate multiboot header address values 2017-09-19 14:09:33 +02:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc_piix.c pc: add 2.12 machine types 2018-01-17 23:04:31 -02:00
pc_q35.c q35: Allow only supported dynamic sysbus devices 2018-01-19 11:18:51 -02:00
pc_sysfw.c hw: Use new memory_region_init_{ram, rom, rom_device}() functions 2017-07-14 17:59:42 +01:00
pc.c possible_cpus: add CPUArchId::type field 2018-01-19 11:18:51 -02:00
trace-events hw/i386/vmport: replace fprintf() by trace events or LOG_UNIMP 2017-12-21 09:30:32 +01:00
vmmouse.c i386/pc: move vmmouse.c to hw/i386/ 2017-12-18 17:07:02 +03:00
vmport.c hw/i386/vmport: fix missing definitions with non-log trace backends 2017-12-21 22:52:28 +00:00
x86-iommu.c x86_iommu: check if machine has PCI bus 2018-01-18 21:52:38 +02:00