On 02/18/2011 10:03 PM, Stefan Berger wrote: > On 02/18/2011 10:33 AM, Andreas Niederl wrote: [...] >> +static ISADeviceInfo tpm_info = { >> + .init = tpm_init, >> + .qdev.name = "tpm", >> + .qdev.desc = "TPM TIS Interface", >> + .qdev.size = sizeof (TPMState), >> + .qdev.vmsd =&vmstate_tpm, > ... and here you're pointing to vmstate_tpm, which was also registered > above using > > + > + vmstate_register(&dev->qdev, 1,&vmstate_tpm, s); > > > Are you sure this is necessary? In my implementation I only have the > qdev.vmsd set and need not explicitly use vmstate_register(). Aren't you > writing the state two times if you do that?
You're right, apparently I've missed that vmstate_save_state operates recursively on fields of type VMS_STRUCT. Also, manual registration of vmstate_tpm is not necessary. Andreas
smime.p7s
Description: S/MIME Cryptographic Signature