qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/2] trace: [all] Add "guest_mem_before" even


From: Lluís Vilanova
Subject: Re: [Qemu-devel] [PATCH v2 2/2] trace: [all] Add "guest_mem_before" event
Date: Thu, 12 May 2016 17:36:37 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Lluís Vilanova writes:
[...]
> diff --git a/trace/mem-internal.h b/trace/mem-internal.h
> new file mode 100644
> index 0000000..970d525
> --- /dev/null
> +++ b/trace/mem-internal.h
> @@ -0,0 +1,46 @@
> +/*
> + * Helper functions for guest memory tracing
> + *
> + * Copyright (C) 2016 Lluís Vilanova <address@hidden>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + */
> +
> +#ifndef TRACE__MEM_INTERNAL_H
> +#define TRACE__MEM_INTERNAL_H
> +
> +static inline uint8_t trace_mem_get_info(TCGMemOp op, bool store)
> +{
> +    uint8_t res = op;
> +    bool be = (op & MO_BSWAP) == MO_BE;
> +
> +    /* remove untraced fields */
> +    res &= (~((1ULL << 4) - 1));
> +    /* make endianness absolute */
> +    res &= ~MO_BSWAP;
> +    if (be) {
> +        res |= 1ULL << 3;
> +    }
> +    /* add fields */
> +    if (store) {
> +        res |= 1ULL << 4;
> +    }
> +
> +    return res;
> +}
[...]

I forgot to comment on the commit message/code why I'm ignoring the
MO_ALIGN/MO_UNALN flag.

In principle, these are plainly calculable from the virtual address and target
architecture, so I decided to not emit them on the trace to keep it as simple as
possible.


Cheers,
  Lluis



reply via email to

[Prev in Thread] Current Thread [Next in Thread]