On 02/08/2013 04:42 PM, Stefan Berger wrote:
This patch adds the main code of the TPM frontend driver, the TPM TIS interface, to QEMU. The code is largely based on the previous implementation for Xen but has been significantly extended to meet the standard's requirements, such as the support for changing of localities and all the functionality of the available flags. Communication with the backend (i.e., for Xen or the libtpms-based one) is cleanly separated through an interface which the backend driver needs to implement. The TPM TIS driver's backend was previously chosen in the code added to arch_init. The frontend holds a pointer to the chosen backend (interface). Communication with the backend is based on thread pools.
I'm not sure this sentence above makes sense since the thread pools are just a threading mechanism, not a communication mechanism. Maybe you want to drop the sentence if you have to submit a new version.
+ +static int tpm_tis_init(ISADevice *dev) +{ + TPMState *s = DO_UPCAST(TPMState, busdev, dev); + TPMTISEmuState *tis = &s->s.tis; + int rc; + + s->be_driver = qemu_find_tpm(s->backend); + if (!s->be_driver) { + error_report("tpm_tis: backend driver with id %s could not be " + "found.n\n", s->backend); + goto err_exit; + } + + s->be_driver->fe_model = TPM_MODEL_TPM_TIS;
Where is TPM_MODEL_TPM_TIS defined? -- Regards, Corey Bryant