qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org
Subject: Re: [PULL 00/18] tcg plugins (deprecations, mem apis, contrib plugins)
Date: Thu, 19 Sep 2024 14:14:57 +0100	[thread overview]
Message-ID: <CAFEAcA8UGKtZLNZZVQiDryjst93AkQTKhQrBQ573+J21C-y4QA@mail.gmail.com> (raw)
In-Reply-To: <875xqrg549.fsf@draig.linaro.org>

On Thu, 19 Sept 2024 at 14:11, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Peter Maydell <peter.maydell@linaro.org> writes:
> > While I'm looking at the code, this caught my eye:
> >
> >     case QEMU_PLUGIN_MEM_VALUE_U64:
> >     {
> >         uint64_t *p = (uint64_t *) &ri->data[offset];
> >         uint64_t val = be ? htobe64(value.data.u64) : htole64(value.data.u64);
> >         if (is_store) {
> >             *p = val;
> >         } else if (*p != val) {
> >             unseen_data = true;
> >         }
> >         break;
> >     }
> >
> > Casting a random byte pointer to uint64_t* like that
> > and dereferencing it isn't valid -- it can fault if
> > it's not aligned correctly.
>
> Hmm in the normal case of x86 hosts we will never hit this.

Not necessarily -- some x86 SIMD insns enforce alignment.

> I guess we
> could do a memcpy step and then the byteswap?

That's what bswap.h does, yes.

> Could it be included directly without bringing in the rest of QEMU's
> include deps?

It's technically quite close to standalone I think,
but I think it would be a bad idea to directly include
it because once you put QEMU's include/ on the plugin
compile include path then that's a slippery slope to
the plugins not actually being standalone code any more.

-- PMM


  reply	other threads:[~2024-09-19 13:16 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18 21:06 [PULL 00/18] tcg plugins (deprecations, mem apis, contrib plugins) Alex Bennée
2024-09-18 21:06 ` [PULL 01/18] deprecation: don't enable TCG plugins by default on 32 bit hosts Alex Bennée
2024-09-18 21:06 ` [PULL 02/18] deprecation: don't enable TCG plugins by default with TCI Alex Bennée
2024-09-18 21:06 ` [PULL 03/18] contrib/plugins: control flow plugin Alex Bennée
2024-09-18 21:06 ` [PULL 04/18] plugins: save value during memory accesses Alex Bennée
2024-09-18 21:06 ` [PULL 05/18] plugins: extend API to get latest memory value accessed Alex Bennée
2024-09-18 21:07 ` [PULL 06/18] tests/tcg: add mechanism to run specific tests with plugins Alex Bennée
2024-09-18 21:07 ` [PULL 07/18] tests/tcg: allow to check output of plugins Alex Bennée
2024-09-18 21:07 ` [PULL 08/18] tests/tcg/plugins/mem: add option to print memory accesses Alex Bennée
2024-09-18 21:07 ` [PULL 09/18] tests/tcg/multiarch: add test for plugin memory access Alex Bennée
2024-09-18 21:07 ` [PULL 10/18] tests/tcg: clean up output of memory system test Alex Bennée
2024-09-18 21:07 ` [PULL 11/18] tests/tcg: only read/write 64 bit words on 64 bit systems Alex Bennée
2024-09-18 21:07 ` [PULL 12/18] tests/tcg: ensure s390x-softmmu output redirected Alex Bennée
2024-09-18 21:07 ` [PULL 13/18] tests/tcg: add a system test to check memory instrumentation Alex Bennée
2024-09-18 21:07 ` [PULL 14/18] util/timer: avoid deadlock when shutting down Alex Bennée
2024-09-18 21:07 ` [PULL 15/18] contrib/plugins: Add a plugin to generate basic block vectors Alex Bennée
2024-09-18 21:07 ` [PULL 16/18] plugins: add plugin API to read guest memory Alex Bennée
2024-09-18 21:07 ` [PULL 17/18] plugins: add option to dump write argument to syscall plugin Alex Bennée
2024-09-18 21:07 ` [PULL 18/18] contrib/plugins: avoid hanging program Alex Bennée
2024-09-19  9:50 ` [PULL 00/18] tcg plugins (deprecations, mem apis, contrib plugins) Peter Maydell
2024-09-19 13:11   ` Alex Bennée
2024-09-19 13:14     ` Peter Maydell [this message]
2024-09-19 14:33       ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFEAcA8UGKtZLNZZVQiDryjst93AkQTKhQrBQ573+J21C-y4QA@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).