[QEMU] Add a TIS device model compliant to the 1.2 TPM specification.

It implements all registers necessary to make the Linux TIS driver
work (tpm_tis.c). All of the basic registers supported by this type of
device are implemented. Also the locality selection has been
implemented, but has not been tested. The legacy registers as
described in the specification are not supported.

Current caveat: The device has so far not yet been integrated with the
virtual TPM available in the repository. It will require changes to
the virtual TPM spawned by the vTPM manager to offer an additional message
interface. The TIS interface itself then needs to have an additional
transport implemented. (see vTPMTransmit array).

The relevant specification for the device model can be found here:
https://www.trustedcomputinggroup.org/groups/pc_client/TCG_PCClientTPMSpecification_1-20_1-00_FINAL.pdf

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
This commit is contained in:
kaf24@localhost.localdomain committed 2006-10-27 19:15:48 +01:00
1 parent 72f529665d
commit 9bbcb18fab
4 files changed
+1122

No files matched your search

+1
View File
@@ -368,6 +368,7 @@ VL_OBJS+= usb-uhci.o
VL_OBJS+= piix4acpi.o
VL_OBJS+= xenstore.o
VL_OBJS+= xen_platform.o
VL_OBJS+= tpm_tis.o
DEFINES += -DHAS_AUDIO
endif
ifeq ($(TARGET_BASE_ARCH), ppc)
+3
View File
@@ -875,6 +875,9 @@ static void pc_init1(uint64_t ram_size, int vga_ram_size, char *boot_device,
}
}
if (has_tpm_device())
tpm_tis_init(&pic_set_irq_new, isa_pic, 11);
kbd_init();
DMA_init(0);
#ifdef HAS_AUDIO
File diff suppressed because it is too large. Load diff
+4
View File
@@ -929,6 +929,10 @@ extern int acpi_enabled;
void piix4_pm_init(PCIBus *bus, int devfn);
void acpi_bios_init(void);
/* tpm_tis.c */
int has_tpm_device(void);
void tpm_tis_init(SetIRQFunc *set_irq, void *irq_opaque, int irq);
/* piix4acpi.c */
extern void pci_piix4_acpi_init(PCIBus *bus, int devfn);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.