Message ID | 20210312172821.31647-5-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | plugins/next (phys addr, syscalls, lots of docs) | expand |
On Mar 12 17:28, Alex Bennée wrote: > It seems kernel-doc struggles a bit with typedef structs but with > enough encouragement we can get something out of it. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Aaron Lindsay <aaron@os.amperecomputing.com> > --- > include/qemu/qemu-plugin.h | 22 +++++++++++++++------- > 1 file changed, 15 insertions(+), 7 deletions(-) > > diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h > index 3303dce862..4b84c6c293 100644 > --- a/include/qemu/qemu-plugin.h > +++ b/include/qemu/qemu-plugin.h > @@ -49,22 +49,30 @@ extern QEMU_PLUGIN_EXPORT int qemu_plugin_version; > > #define QEMU_PLUGIN_VERSION 1 > > -typedef struct { > - /* string describing architecture */ > +/** > + * struct qemu_info_t - system information for plugins > + * > + * This structure provides for some limited information about the > + * system to allow the plugin to make decisions on how to proceed. For > + * example it might only be suitable for running on some guest > + * architectures or when under full system emulation. > + */ > +typedef struct qemu_info_t { > + /** @target_name: string describing architecture */ > const char *target_name; > + /** @version: minimum and current plugin API level */ > struct { > int min; > int cur; > } version; > - /* is this a full system emulation? */ > + /** @system_emulation: is this a full system emulation? */ > bool system_emulation; > union { > - /* > - * smp_vcpus may change if vCPUs can be hot-plugged, max_vcpus > - * is the system-wide limit. > - */ > + /** @system: information relevant to system emulation */ > struct { > + /** @system.smp_vcpus: initial number of vCPUs */ > int smp_vcpus; > + /** @system.max_vcpus: maximum possible number of vCPUs */ > int max_vcpus; > } system; > }; > -- > 2.20.1 >
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h index 3303dce862..4b84c6c293 100644 --- a/include/qemu/qemu-plugin.h +++ b/include/qemu/qemu-plugin.h @@ -49,22 +49,30 @@ extern QEMU_PLUGIN_EXPORT int qemu_plugin_version; #define QEMU_PLUGIN_VERSION 1 -typedef struct { - /* string describing architecture */ +/** + * struct qemu_info_t - system information for plugins + * + * This structure provides for some limited information about the + * system to allow the plugin to make decisions on how to proceed. For + * example it might only be suitable for running on some guest + * architectures or when under full system emulation. + */ +typedef struct qemu_info_t { + /** @target_name: string describing architecture */ const char *target_name; + /** @version: minimum and current plugin API level */ struct { int min; int cur; } version; - /* is this a full system emulation? */ + /** @system_emulation: is this a full system emulation? */ bool system_emulation; union { - /* - * smp_vcpus may change if vCPUs can be hot-plugged, max_vcpus - * is the system-wide limit. - */ + /** @system: information relevant to system emulation */ struct { + /** @system.smp_vcpus: initial number of vCPUs */ int smp_vcpus; + /** @system.max_vcpus: maximum possible number of vCPUs */ int max_vcpus; } system; };
It seems kernel-doc struggles a bit with typedef structs but with enough encouragement we can get something out of it. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- include/qemu/qemu-plugin.h | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) -- 2.20.1