# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1170802775 0
# Node ID 3093bd26ae455fcc4b1c6fcbf7804e8bbedd0cde
# Parent 2379569b590df5bb228ce470c74e3ec3d3ef4a6a
[TPM] TIS dm suspend code fix
This fixes a bug in the TPM TIS device model's state suspend code and
adds some casts to variables to avoid compiler warnings.
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
---
tools/ioemu/hw/tpm_tis.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff -r 2379569b590d -r 3093bd26ae45 tools/ioemu/hw/tpm_tis.c
--- a/tools/ioemu/hw/tpm_tis.c Tue Feb 06 16:05:29 2007 +0000
+++ b/tools/ioemu/hw/tpm_tis.c Tue Feb 06 22:59:35 2007 +0000
@@ -517,7 +517,7 @@ static uint32_t tis_mem_readl(void *opaq
#ifdef DEBUG_TPM
fprintf(logfile," read(%08x) = %08x\n",
- addr,
+ (int)addr,
val);
#endif
@@ -538,7 +538,7 @@ static void tis_mem_writel(void *opaque,
#ifdef DEBUG_TPM
fprintf(logfile,"write(%08x) = %08x\n",
- addr,
+ (int)addr,
val);
#endif
@@ -757,10 +757,11 @@ static void tpm_save(QEMUFile* f,void* o
static void tpm_save(QEMUFile* f,void* opaque)
{
tpmState* s=(tpmState*)opaque;
+ uint8_t locty = s->active_loc;
int c;
/* need to wait for outstanding requests to complete */
- if (IS_COMM_WITH_VTPM(s)) {
+ if (s->loc[locty].state == STATE_EXECUTION) {
int repeats = 30; /* 30 seconds; really should be infty */
while (repeats > 0 &&
!(s->loc[s->active_loc].sts & STS_DATA_AVAILABLE)) {
@@ -777,6 +778,10 @@ static void tpm_save(QEMUFile* f,void* o
}
}
+ if (IS_COMM_WITH_VTPM(s)) {
+ close_vtpm_channel(s, 1);
+ }
+
qemu_put_be32s(f,&s->offset);
qemu_put_buffer(f, s->buffer.buf, TPM_MAX_PKT);
qemu_put_8s(f, &s->active_loc);
@@ -993,7 +998,7 @@ static int TPM_Receive(tpmState *s, tpmB
uint32_t size = tpm_get_size_from_buffer(buffer->buf);
if (size + sizeof(buffer->instance) != off) {
fprintf(logfile,"TPM: Packet size is bad! %d != %d\n",
- size + sizeof(buffer->instance),
+ (int)(size + sizeof(buffer->instance)),
off);
} else {
uint32_t ret;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|