mirror of
https://github.com/qemu/qemu.git
synced 2025-08-15 05:06:56 +00:00

Unstable QMP 'x-accel-stats' dispatches to the AccelOpsClass::get_stats() and get_vcpu_stats() handlers. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Message-Id: <20250715140048.84942-4-philmd@linaro.org>
52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
/*
|
|
* Accelerator handlers
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#ifndef ACCEL_OPS_H
|
|
#define ACCEL_OPS_H
|
|
|
|
#include "exec/hwaddr.h"
|
|
#include "qemu/accel.h"
|
|
#include "qom/object.h"
|
|
|
|
struct AccelState {
|
|
Object parent_obj;
|
|
};
|
|
|
|
struct AccelClass {
|
|
ObjectClass parent_class;
|
|
|
|
const char *name;
|
|
/* Cached by accel_init_ops_interfaces() when created */
|
|
AccelOpsClass *ops;
|
|
|
|
int (*init_machine)(AccelState *as, MachineState *ms);
|
|
bool (*cpu_common_realize)(CPUState *cpu, Error **errp);
|
|
void (*cpu_common_unrealize)(CPUState *cpu);
|
|
/* get_stats: Append statistics to @buf */
|
|
void (*get_stats)(AccelState *as, GString *buf);
|
|
|
|
/* system related hooks */
|
|
void (*setup_post)(AccelState *as);
|
|
void (*pre_resume_vm)(AccelState *as, bool step_pending);
|
|
bool (*has_memory)(AccelState *accel, AddressSpace *as,
|
|
hwaddr start_addr, hwaddr size);
|
|
|
|
/* gdbstub related hooks */
|
|
int (*gdbstub_supported_sstep_flags)(AccelState *as);
|
|
|
|
bool *allowed;
|
|
/*
|
|
* Array of global properties that would be applied when specific
|
|
* accelerator is chosen. It works like MachineClass.compat_props
|
|
* but it's for accelerators not machines. Accelerator-provided
|
|
* global properties may be overridden by machine-type
|
|
* compat_props or user-provided global properties.
|
|
*/
|
|
GPtrArray *compat_props;
|
|
};
|
|
|
|
#endif /* ACCEL_OPS_H */
|