Hi Cédric

> Subject: Re: [PATCH v1 12/22] hw/misc/aspeed_hace Support to dump
> plaintext and digest for better debugging
> 
> On 3/21/25 10:26, Jamin Lin wrote:
> > 1. Disabled by default. Uncomment "#define DEBUG_HACE 1" to enable it.
> > 2. Uses the "qemu_hexdump" API to dump the digest result.
> > 3. Uses the "iov_hexdump" API to dump the source vector, which contains the
> >     source plaintext.
> >
> > Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com>
> > ---
> >   hw/misc/aspeed_hace.c | 12 ++++++++++++
> >   1 file changed, 12 insertions(+)
> >
> > diff --git a/hw/misc/aspeed_hace.c b/hw/misc/aspeed_hace.c index
> > b8e473ee3f..ae4d2fa687 100644
> > --- a/hw/misc/aspeed_hace.c
> > +++ b/hw/misc/aspeed_hace.c
> > @@ -10,8 +10,10 @@
> >    */
> >
> >   #include "qemu/osdep.h"
> > +#include "qemu/cutils.h"
> >   #include "qemu/log.h"
> >   #include "qemu/error-report.h"
> > +#include "qemu/iov.h"
> >   #include "hw/misc/aspeed_hace.h"
> >   #include "qapi/error.h"
> >   #include "migration/vmstate.h"
> > @@ -20,6 +22,8 @@
> >   #include "hw/irq.h"
> >   #include "trace.h"
> >
> > +/* #define DEBUG_HACE 1 */
> > +
> >   #define R_CRYPT_CMD     (0x10 / 4)
> >
> >   #define R_STATUS        (0x1c / 4)
> > @@ -268,6 +272,10 @@ static void do_hash_operation(AspeedHACEState *s,
> int algo, bool sg_mode,
> >           }
> >       }
> >
> > +#ifdef DEBUG_HACE
> 
> Could we use a trace instead ? See trace_event_get_state_backends() for
> complex traces and qemu_hexdump_to_buffer() ?
> 
Thanks for the review and suggestion.
Will add "hexdump data" in trace event.
Thanks-Jamin
> 
> Thanks,
> 
> C.
> 
> 
> 
> 
> > +    iov_hexdump(iov, i, stdout, "plaintext", 0xa000); #endif
> > +
> >       if (acc_mode) {
> >           if (qcrypto_hash_updatev(s->hash_ctx, iov, i, &local_err) < 0) {
> >               qemu_log_mask(LOG_GUEST_ERROR, "qcrypto hash
> update
> > failed : %s", @@ -311,6 +319,10 @@ static void
> do_hash_operation(AspeedHACEState *s, int algo, bool sg_mode,
> >                         "aspeed_hace: address space write failed\n");
> >       }
> >
> > +#ifdef DEBUG_HACE
> > +    qemu_hexdump(stdout, "digest", digest_buf, digest_len); #endif
> > +
> >       for (; i > 0; i--) {
> >           address_space_unmap(&s->dram_as, iov[i - 1].iov_base,
> >                               iov[i - 1].iov_len, false,

Reply via email to