cpus: Introduce SysemuCPUOps::has_work() handler
SysemuCPUOps::has_work() is similar to CPUClass::has_work(), but only exposed on system emulation. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250125170125.32855-4-philmd@linaro.org>
This commit is contained in:
parent
8f8dbe04bd
commit
72eacd6231
@ -33,6 +33,10 @@
|
||||
|
||||
bool cpu_has_work(CPUState *cpu)
|
||||
{
|
||||
if (cpu->cc->sysemu_ops->has_work) {
|
||||
return cpu->cc->sysemu_ops->has_work(cpu);
|
||||
}
|
||||
|
||||
g_assert(cpu->cc->has_work);
|
||||
return cpu->cc->has_work(cpu);
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ struct TCGCPUOps {
|
||||
*
|
||||
* This method must be provided. If the target does not need to
|
||||
* do anything special for halt, the same function used for its
|
||||
* CPUClass::has_work method can be used here, as they have the
|
||||
* SysemuCPUOps::has_work method can be used here, as they have the
|
||||
* same function signature.
|
||||
*/
|
||||
bool (*cpu_exec_halt)(CPUState *cpu);
|
||||
|
@ -16,6 +16,10 @@
|
||||
* struct SysemuCPUOps: System operations specific to a CPU class
|
||||
*/
|
||||
typedef struct SysemuCPUOps {
|
||||
/**
|
||||
* @has_work: Callback for checking if there is work to do.
|
||||
*/
|
||||
bool (*has_work)(CPUState *cpu);
|
||||
/**
|
||||
* @get_memory_mapping: Callback for obtaining the memory mappings.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user