class TpmLpc

Defined at line 29 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.h

Defines a TPM LPC driver specified at:

The device contains the base address for the TIS interface 0xfed40000 and

the size of the MMIO area (0x5000). The device is poll mode only due to no

unused IRQ being available on QEMU.

Public Methods

zx_status_t Create (void * ctx, zx_device_t * dev)

Defined at line 22 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

void TpmLpc (zx_device_t * parent, acpi::Client acpi, fdf::MmioBuffer mmio)

Defined at line 31 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.h

void ~TpmLpc ()

Defined at line 36 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.h

zx_status_t Bind (std::unique_ptr<TpmLpc> * dev)

Defined at line 46 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

void DdkRelease ()

Defined at line 59 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

zx::result<> PerformTransfer (uint16_t address, fidl::VectorView<uint8_t> & buf, bool do_write)

Memory is only addressable in 4 byte increments on the qemu-driver, so we have

to split up any incoming requests into 4 byte segments in big-endian order.

Defined at line 63 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

void TpmImplConnectServer (zx::channel server)

Setup the TPM FIDL Server.

Defined at line 114 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

void Read (ReadRequestView request, ReadCompleter::Sync & completer)

FIDL methods.

Defined at line 119 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc

void Write (WriteRequestView request, WriteCompleter::Sync & completer)

Defined at line 135 of file ../../src/devices/tpm/drivers/tpm-lpc/tpm-lpc.cc