From patchwork Thu Oct 27 17:06:30 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Roth X-Patchwork-Id: 122183 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [140.186.70.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 009A4B6F91 for ; Fri, 28 Oct 2011 04:07:55 +1100 (EST) Received: from localhost ([::1]:34492 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJTQh-0002KB-BQ for incoming@patchwork.ozlabs.org; Thu, 27 Oct 2011 13:07:47 -0400 Received: from eggs.gnu.org ([140.186.70.92]:42568) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJTQW-00029h-II for qemu-devel@nongnu.org; Thu, 27 Oct 2011 13:07:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RJTQV-0000kD-Fe for qemu-devel@nongnu.org; Thu, 27 Oct 2011 13:07:36 -0400 Received: from mout.perfora.net ([74.208.4.195]:51885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJTQV-0000k8-8E for qemu-devel@nongnu.org; Thu, 27 Oct 2011 13:07:35 -0400 Received: from illuin.austin.ibm.com ([32.97.110.59]) by mrelay.perfora.net (node=mrus0) with ESMTP (Nemesis) id 0MOgkY-1RPXAE3FWo-006Pxa; Thu, 27 Oct 2011 13:07:33 -0400 From: Michael Roth To: qemu-devel@nongnu.org Date: Thu, 27 Oct 2011 12:06:30 -0500 Message-Id: <1319735193-4718-8-git-send-email-mdroth@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1319735193-4718-1-git-send-email-mdroth@linux.vnet.ibm.com> References: <1319735193-4718-1-git-send-email-mdroth@linux.vnet.ibm.com> X-Provags-ID: V02:K0:18BkP5EdlCUPcY2gdfPvGXW8k78yA5P1Longd6xrwyj g71IJOfYRJ56g0RdTQeg60/2MrgLU97DfrFyc6dZGcFp9zmFyb 3vtG9yRg8RkXAydHmRuMYqZJjWPX+vriWDJrJG0Lz4e8QNU8qG UROx2yh7BmuFUIy4OwW1kFbeDD+EP6o/wKow4cRma2VwPmLoCb 3sARa+N6Vcca9CwhGiHfxwCUJF/PmwcUwyaCfYpI1kfikofJ2i P0154lNNxYg/K62tb569+FN2KjxFHAGUEgKZw0e20FuJz/42jv yrxgvIhpqfPCTxdoV6flavJbgI/tQ0hJpvdUfl80aN3WKtGObZ PhoYlVxfpU27609+nVEW83WNXgCW5SPhEPotO/IUE5egSNanRm Jk62uAX5c+9dBjamW4s3bUNPPnmfV4iX6U= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.208.4.195 Cc: aliguori@us.ibm.com, mdroth@linux.vnet.ibm.com, quintela@redhat.com Subject: [Qemu-devel] [PATCH v2 07/10] trace: qemu_(put|get)_(byte|buffer) events X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Michael Roth --- qemu-file.c | 13 +++++++++++++ trace-events | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 0 deletions(-) diff --git a/qemu-file.c b/qemu-file.c index cdfe8a3..89b58be 100644 --- a/qemu-file.c +++ b/qemu-file.c @@ -27,6 +27,7 @@ #include "hw/hw.h" #include "qapi/qemu-file-output-visitor.h" #include "qapi/qemu-file-input-visitor.h" +#include "trace.h" #define IO_BUF_SIZE 32768 @@ -454,6 +455,8 @@ void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size) { int l; + trace_qemu_put_buffer(f, buf, size); + if (!f->last_error && f->is_write == 0 && f->buf_index > 0) { fprintf(stderr, "Attempted to write to buffer while read buffer is not empty\n"); @@ -484,6 +487,7 @@ void qemu_put_byte(QEMUFile *f, int v) abort(); } + trace_qemu_put_byte(f, v & 0xff); f->buf[f->buf_index++] = v; f->is_write = 1; if (f->buf_index >= IO_BUF_SIZE) { @@ -531,6 +535,8 @@ int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size) int pending = size; int done = 0; + trace_qemu_get_buffer(f, buf, size); + while (pending > 0) { int res; @@ -570,6 +576,7 @@ int qemu_get_byte(QEMUFile *f) result = qemu_peek_byte(f, 0); qemu_file_skip(f, 1); + trace_qemu_get_byte(f, result); return result; } @@ -632,6 +639,7 @@ void qemu_put_be16(QEMUFile *f, unsigned int v) { qemu_put_byte(f, v >> 8); qemu_put_byte(f, v); + trace_qemu_put_be16(f, v); } void qemu_put_be32(QEMUFile *f, unsigned int v) @@ -640,12 +648,14 @@ void qemu_put_be32(QEMUFile *f, unsigned int v) qemu_put_byte(f, v >> 16); qemu_put_byte(f, v >> 8); qemu_put_byte(f, v); + trace_qemu_put_be32(f, v); } void qemu_put_be64(QEMUFile *f, uint64_t v) { qemu_put_be32(f, v >> 32); qemu_put_be32(f, v); + trace_qemu_put_be64(f, v); } unsigned int qemu_get_be16(QEMUFile *f) @@ -653,6 +663,7 @@ unsigned int qemu_get_be16(QEMUFile *f) unsigned int v; v = qemu_get_byte(f) << 8; v |= qemu_get_byte(f); + trace_qemu_get_be16(f, v); return v; } @@ -663,6 +674,7 @@ unsigned int qemu_get_be32(QEMUFile *f) v |= qemu_get_byte(f) << 16; v |= qemu_get_byte(f) << 8; v |= qemu_get_byte(f); + trace_qemu_get_be32(f, v); return v; } @@ -671,5 +683,6 @@ uint64_t qemu_get_be64(QEMUFile *f) uint64_t v; v = (uint64_t)qemu_get_be32(f) << 32; v |= qemu_get_be32(f); + trace_qemu_get_be64(f, v); return v; } diff --git a/trace-events b/trace-events index 820b1d6..6e36266 100644 --- a/trace-events +++ b/trace-events @@ -624,3 +624,21 @@ win_helper_no_switch_pstate(uint32_t new_pstate_regs) "change_pstate: regs new=% win_helper_wrpil(uint32_t psrpil, uint32_t new_pil) "old=%x new=%x" win_helper_done(uint32_t tl) "tl=%d" win_helper_retry(uint32_t tl) "tl=%d" + +# qemu-file.c +qemu_put_buffer(void *f, const uint8_t *buf, int size) "file=%p, buf=%p, size=%d" +qemu_get_buffer(void *f, const uint8_t *buf, int size) "file=%p, buf=%p, size=%d" +qemu_put_byte(void *f, int val) "file=%p, val=0x%x" +qemu_get_byte(void *f, int val) "file=%p, val=0x%x" +qemu_put_be16(void *f, unsigned int v) "file=%p, val=0x%x" +qemu_get_be16(void *f, unsigned int v) "file=%p, val=0x%x" +qemu_put_be32(void *f, unsigned int v) "file=%p, val=0x%x" +qemu_get_be32(void *f, unsigned int v) "file=%p, val=0x%x" +qemu_put_be64(void *f, uint64_t v) "file=%p, val=0x%"PRIx64 +qemu_get_be64(void *f, uint64_t v) "file=%p, val=0x%"PRIx64 +qemu_put_sbe16(void *f, int v) "file=%p, val=0x%x" +qemu_get_sbe16(void *f, int v) "file=%p, val=0x%x" +qemu_put_sbe32(void *f, int v) "file=%p, val=0x%x" +qemu_get_sbe32(void *f, int v) "file=%p, val=0x%x" +qemu_put_sbe64(void *f, int64_t v) "file=%p, val=0x%"PRIx64 +qemu_get_sbe64(void *f, int64_t v) "file=%p, val=0x%"PRIx64