[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH][BIOS]Fix TPMD and QEMU connection
Hi Stefan-san, Thank you for correcting my patch. I also think that it should not try to connect endlessly in a busy loop. attached file is the corrected patch. Thanks Kouichi YASAKI xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 12/19/2007 07:53:11 PM: > Hi, > > In HVM domain, MA_Transmit function in tcgbios sometimes become an error > (TCG_NO_RESPONSE). The cause of the error is not to make connection of > QEMU and TPMD instance within a timeout of MA_Transmit function. >> Before the MA_Transmit function was called, the attached patch corrected so> that connection of QEMU and TPMD might be completed. > > Signed-off-by: Kouichi YASAKI <yasaki.kouichi@xxxxxxxxxxxxxx> > > Thanks > Kouichi YASAKI > > diff -r d9ab9eb2bfee tools/ioemu/hw/tpm_tis.c > --- a/tools/ioemu/hw/tpm_tis.c Sat Dec 15 18:29:27 2007 +0000 > +++ b/tools/ioemu/hw/tpm_tis.c Mon Dec 17 19:46:42 2007 +0900 > @@ -904,6 +904,10 @@ void tpm_tis_init(SetIRQFunc *set_irq, v > memset(s->buffer.buf,0,sizeof(s->buffer.buf));> > register_savevm("tpm-tis", 0, 1, tpm_save, tpm_load, s);> + > + while(!IS_COMM_WITH_VTPM(s)){ > + open_vtpm_channel(s); > + } > }I'll have a look at this. The problem probably stems from the vTPM manager starting the vTPM up too late while qemu is already up and running, so it's a timing problem between the two processes. I don't think it should try to connect endlessly in a busy loop. At least there should be a counter that tries this for maybe 5 times followed by a [u]sleep() in the loop.int ctr = 0; while(!IS_COMM_WITH_VTPM(s) && ctr < 5){ open_vtpm_channel(s); ctr ++; sleep(1); } Stefan> > > /****************************************************************************/> _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel diff -r 966a6d3b7408 tools/ioemu/hw/tpm_tis.c --- a/tools/ioemu/hw/tpm_tis.c Fri Dec 14 11:50:24 2007 +0000 +++ b/tools/ioemu/hw/tpm_tis.c Thu Dec 20 11:56:24 2007 +0900 @@ -904,6 +904,13 @@ void tpm_tis_init(SetIRQFunc *set_irq, v memset(s->buffer.buf,0,sizeof(s->buffer.buf)); register_savevm("tpm-tis", 0, 1, tpm_save, tpm_load, s); + + int ctr = 0; + while(!IS_COMM_WITH_VTPM(s) && ctr < 5){ + open_vtpm_channel(s); + ctr++; + sleep(1); + } } /****************************************************************************/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |