[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 08/14] plugins: add qemu_plugin_cb_flags to kernel-doc
From: |
Aaron Lindsay |
Subject: |
Re: [PATCH v1 08/14] plugins: add qemu_plugin_cb_flags to kernel-doc |
Date: |
Tue, 16 Mar 2021 10:05:27 -0400 |
On Mar 16 13:40, Alex Bennée wrote:
>
> Aaron Lindsay <aaron@os.amperecomputing.com> writes:
>
> > On Mar 12 17:28, Alex Bennée wrote:
> >> Also add a note to explain currently they are unused.
> >>
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >
> > I'm personally interested in one clarification below, but don't think
> > that affects my:
> >
> > Reviewed-by: Aaron Lindsay <aaron@os.amperecomputing.com>
> >
> >> ---
> >> include/qemu/qemu-plugin.h | 16 +++++++++++++---
> >> 1 file changed, 13 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
> >> index 9ae3940d89..c98866a637 100644
> >> --- a/include/qemu/qemu-plugin.h
> >> +++ b/include/qemu/qemu-plugin.h
> >> @@ -207,10 +207,20 @@ struct qemu_plugin_tb;
> >> /** struct qemu_plugin_insn - Opaque handle for a translated instruction
> >> */
> >> struct qemu_plugin_insn;
> >>
> >> +/**
> >> + * enum qemu_plugin_cb_flags - type of callback
> >> + *
> >> + * @QEMU_PLUGIN_CB_NO_REGS: callback does not access the CPU's regs
> >> + * @QEMU_PLUGIN_CB_R_REGS: callback reads the CPU's regs
> >> + * @QEMU_PLUGIN_CB_RW_REGS: callback reads and writes the CPU's regs
> >> + *
> >> + * Note: currently unused, plugins cannot read or change system
> >> + * register state.
> >
> > They are unused in the sense that the current plugin interface does not
> > provide a way to make use of them. But are they completely free from
> > side effects?
>
> They are free of side effects visible to the plugin. Under the covers it
> uses the existing TCG_CALL_NO_* mechanics to ensure that register state
> is synced to/from TCG temporaries before the callback.
I would currently find it useful to have that information included in
the documentation since there is no register state exposed and I am
basically hacking something together for my own use in the meantime...
but I understand that is in tension with the general philosophy of the
plugins to not expose implementation details.
-Aaron
- [PATCH v1 00/14] plugins/next (phys addr, syscalls, lots of docs), Alex Bennée, 2021/03/12
- [PATCH v1 01/14] plugins: new syscalls plugin, Alex Bennée, 2021/03/12
- [PATCH v1 03/14] docs/devel: include the plugin API information from the headers, Alex Bennée, 2021/03/12
- [PATCH v1 02/14] plugins: Expose physical addresses instead of device offsets, Alex Bennée, 2021/03/12
- [PATCH v1 05/14] plugins: cleanup kernel-doc for qemu_plugin_install, Alex Bennée, 2021/03/12
- [PATCH v1 08/14] plugins: add qemu_plugin_cb_flags to kernel-doc, Alex Bennée, 2021/03/12
- [PATCH v1 07/14] plugins: expand the typedef kernel-docs for translation, Alex Bennée, 2021/03/12
- [PATCH v1 10/14] plugins: expand inline exec kernel-doc documentation., Alex Bennée, 2021/03/12
- [PATCH v1 04/14] plugins: expand kernel-doc for qemu_info_t, Alex Bennée, 2021/03/12
- [PATCH v1 06/14] plugins: expand the callback typedef kernel-docs, Alex Bennée, 2021/03/12
- [PATCH v1 12/14] plugins: expand kernel-doc for memory query and instrumentation, Alex Bennée, 2021/03/12