All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Aaron Lindsay <aaron@os.amperecomputing.com>
Cc: kuhn.chenqun@huawei.com, cota@braap.org, qemu-devel@nongnu.org,
	robhenry@microsoft.com, mahmoudabdalghany@outlook.com
Subject: Re: [PATCH  v1 11/14] plugins: expand kernel-doc for instruction query and instrumentation
Date: Tue, 16 Mar 2021 13:48:44 +0000	[thread overview]
Message-ID: <878s6n8az9.fsf@linaro.org> (raw)
In-Reply-To: <YEu0yfHSph9x33/T@strawberry.localdomain>


Aaron Lindsay <aaron@os.amperecomputing.com> writes:

> A few clarifications inline:
>
> On Mar 12 17:28, Alex Bennée wrote:
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>  include/qemu/qemu-plugin.h | 52 ++++++++++++++++++++++++++++++++++++--
>>  1 file changed, 50 insertions(+), 2 deletions(-)
>> 
>> diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
>> index dc05fc1932..d4adce730a 100644
>> --- a/include/qemu/qemu-plugin.h
>> +++ b/include/qemu/qemu-plugin.h
>> @@ -327,21 +327,69 @@ void qemu_plugin_register_vcpu_insn_exec_inline(struct qemu_plugin_insn *insn,
>>                                                  enum qemu_plugin_op op,
>>                                                  void *ptr, uint64_t imm);
>>  
>> -/*
>> - * Helpers to query information about the instructions in a block
>> +/**
>> + * qemu_plugin_tb_n_insns() - query helper for number of insns in TB
>> + * @tb: opaque handle to TB passed to callback
>> + *
>> + * Returns: number of instructions in this block
>>   */
>>  size_t qemu_plugin_tb_n_insns(const struct qemu_plugin_tb *tb);
>>  
>> +/**
>> + * qemu_plugin_tb_vaddr() - query helper for vaddr of TB start
>> + * @tb: opaque handle to TB passed to callback
>> + *
>> + * Returns: virtual address of block start
>> + */
>>  uint64_t qemu_plugin_tb_vaddr(const struct qemu_plugin_tb *tb);
>>  
>> +/**
>> + * qemu_plugin_tb_get_insn() - retrieve handle for instruction
>> + * @tb: opaque handle to TB passed to callback
>> + * @idx: instruction number, 0 indexed
>> + *
>> + * The returned handle can be used in follow up helper queries as well
>> + * as when instrumenting an instruction. It is only valid for the
>> + * lifetime of the callback.
>> + *
>> + * Returns: opaque handle to instruction
>> + */
>>  struct qemu_plugin_insn *
>>  qemu_plugin_tb_get_insn(const struct qemu_plugin_tb *tb, size_t idx);
>>  
>> +/**
>> + * qemu_plugin_insn_data() - return ptr to instruction data
>> + * @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
>> + *
>> + * Note: data is only valid for duration of callback. See
>> + * qemu_plugin_insn_size() to calculate size of stream.
>> + *
>> + * Returns: pointer to a stream of bytes
>
> Maybe this could be a little more explicit, something like "Returns:
> pointer to a stream of bytes containing the value of this instruction's
> opcode"?
>
>> + */
>>  const void *qemu_plugin_insn_data(const struct qemu_plugin_insn *insn);
>>  
>> +/**
>> + * qemu_plugin_insn_size() - return size of instruction
>> + * @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
>> + *
>> + * Returns: size of instruction
>
> size in bytes?
>
>> + */
>>  size_t qemu_plugin_insn_size(const struct qemu_plugin_insn *insn);
>>  
>> +/**
>> + * qemu_plugin_insn_vaddr() - return vaddr of instruction
>> + * @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
>> + *
>> + * Returns: virtual address of instruction
>> + */
>>  uint64_t qemu_plugin_insn_vaddr(const struct qemu_plugin_insn *insn);
>> +
>> +/**
>> + * qemu_plugin_insn_haddr() - return vaddr of instruction
>
> Copypasta: s/vaddr/haddr/ ?
>
>> + * @insn: opaque instruction handle from qemu_plugin_tb_get_insn()
>> + *
>> + * Returns: hardware (physical) address of instruction
>> + */
>>  void *qemu_plugin_insn_haddr(const struct qemu_plugin_insn *insn);
>
> Is this the physical address of the instruction on the host or target?

target.

>
> -Aaron


-- 
Alex Bennée


  reply	other threads:[~2021-03-16 13:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-12 17:28 [PATCH v1 00/14] plugins/next (phys addr, syscalls, lots of docs) Alex Bennée
2021-03-12 17:28 ` [PATCH v1 01/14] plugins: new syscalls plugin Alex Bennée
2021-03-12 17:28 ` [PATCH v1 02/14] plugins: Expose physical addresses instead of device offsets Alex Bennée
2021-03-12 17:28 ` [PATCH v1 03/14] docs/devel: include the plugin API information from the headers Alex Bennée
2021-03-12 18:19   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 04/14] plugins: expand kernel-doc for qemu_info_t Alex Bennée
2021-03-12 18:20   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 05/14] plugins: cleanup kernel-doc for qemu_plugin_install Alex Bennée
2021-03-12 18:21   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 06/14] plugins: expand the callback typedef kernel-docs Alex Bennée
2021-03-12 18:25   ` Aaron Lindsay via
2021-03-15 18:04     ` Alex Bennée
2021-03-12 17:28 ` [PATCH v1 07/14] plugins: expand the typedef kernel-docs for translation Alex Bennée
2021-03-12 18:27   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 08/14] plugins: add qemu_plugin_cb_flags to kernel-doc Alex Bennée
2021-03-12 18:29   ` Aaron Lindsay via
2021-03-16 13:40     ` Alex Bennée
2021-03-16 14:05       ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 09/14] plugins: add qemu_plugin_id_t " Alex Bennée
2021-03-12 18:29   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 10/14] plugins: expand inline exec kernel-doc documentation Alex Bennée
2021-03-12 18:30   ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 11/14] plugins: expand kernel-doc for instruction query and instrumentation Alex Bennée
2021-03-12 18:36   ` Aaron Lindsay via
2021-03-16 13:48     ` Alex Bennée [this message]
2021-03-16 14:00       ` Aaron Lindsay via
2021-03-12 17:28 ` [PATCH v1 12/14] plugins: expand kernel-doc for memory " Alex Bennée
2021-03-12 18:40   ` Aaron Lindsay via
2021-03-16 13:55     ` Alex Bennée
2021-03-12 17:28 ` [PATCH v1 13/14] plugins: getting qemu_plugin_get_hwaddr only expose one function prototype Alex Bennée
2021-03-12 17:28 ` [PATCH v1 14/14] plugins: Fixes typo in qemu-plugin.h 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=878s6n8az9.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=aaron@os.amperecomputing.com \
    --cc=cota@braap.org \
    --cc=kuhn.chenqun@huawei.com \
    --cc=mahmoudabdalghany@outlook.com \
    --cc=qemu-devel@nongnu.org \
    --cc=robhenry@microsoft.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.