plugins: expand inline exec kernel-doc documentation.

Remove the extraneous @cb parameter and document the non-atomic nature
of the INLINE_ADD_U64 operation.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210312172821.31647-11-alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée 2021-03-12 17:28:17 +00:00
parent fd6744a495
commit 8bc9a4d46d
1 changed files with 11 additions and 1 deletions

View File

@ -269,6 +269,14 @@ void qemu_plugin_register_vcpu_tb_exec_cb(struct qemu_plugin_tb *tb,
enum qemu_plugin_cb_flags flags, enum qemu_plugin_cb_flags flags,
void *userdata); void *userdata);
/**
* enum qemu_plugin_op - describes an inline op
*
* @QEMU_PLUGIN_INLINE_ADD_U64: add an immediate value uint64_t
*
* Note: currently only a single inline op is supported.
*/
enum qemu_plugin_op { enum qemu_plugin_op {
QEMU_PLUGIN_INLINE_ADD_U64, QEMU_PLUGIN_INLINE_ADD_U64,
}; };
@ -283,6 +291,9 @@ enum qemu_plugin_op {
* Insert an inline op to every time a translated unit executes. * Insert an inline op to every time a translated unit executes.
* Useful if you just want to increment a single counter somewhere in * Useful if you just want to increment a single counter somewhere in
* memory. * memory.
*
* Note: ops are not atomic so in multi-threaded/multi-smp situations
* you will get inexact results.
*/ */
void qemu_plugin_register_vcpu_tb_exec_inline(struct qemu_plugin_tb *tb, void qemu_plugin_register_vcpu_tb_exec_inline(struct qemu_plugin_tb *tb,
enum qemu_plugin_op op, enum qemu_plugin_op op,
@ -305,7 +316,6 @@ void qemu_plugin_register_vcpu_insn_exec_cb(struct qemu_plugin_insn *insn,
/** /**
* qemu_plugin_register_vcpu_insn_exec_inline() - insn execution inline op * qemu_plugin_register_vcpu_insn_exec_inline() - insn execution inline op
* @insn: the opaque qemu_plugin_insn handle for an instruction * @insn: the opaque qemu_plugin_insn handle for an instruction
* @cb: callback function
* @op: the type of qemu_plugin_op (e.g. ADD_U64) * @op: the type of qemu_plugin_op (e.g. ADD_U64)
* @ptr: the target memory location for the op * @ptr: the target memory location for the op
* @imm: the op data (e.g. 1) * @imm: the op data (e.g. 1)