mirror of
https://github.com/qemu/qemu.git
synced 2025-08-16 14:54:29 +00:00

In903e870f24
(plugins/api: split out binary path/start/end/entry code) we didn't actually enable the building of the new plugin helper. However this was missed because only contrib plugins like drcov actually used the helpers. With that fixed we discover we also need some more includes to be able to extract the relevant data from TaskState. Fixes:903e870f24
(plugins/api: split out binary path/start/end/entry code) Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3014 Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20250710104531.3099313-6-alex.bennee@linaro.org>
45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
/*
|
|
* QEMU Plugin API - *-user-mode only implementations
|
|
*
|
|
* Common user-mode only APIs are in plugins/api-user. These helpers
|
|
* are only specific to the *-user frontends.
|
|
*
|
|
* Copyright (C) 2017, Emilio G. Cota <cota@braap.org>
|
|
* Copyright (C) 2019-2025, Linaro
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "qemu/main-loop.h"
|
|
#include "qemu/plugin.h"
|
|
#include "accel/tcg/vcpu-state.h"
|
|
#include "qemu.h"
|
|
|
|
/*
|
|
* Binary path, start and end locations. Host specific due to TaskState.
|
|
*/
|
|
const char *qemu_plugin_path_to_binary(void)
|
|
{
|
|
TaskState *ts = get_task_state(current_cpu);
|
|
return g_strdup(ts->bprm->filename);
|
|
}
|
|
|
|
uint64_t qemu_plugin_start_code(void)
|
|
{
|
|
TaskState *ts = get_task_state(current_cpu);
|
|
return ts->info->start_code;
|
|
}
|
|
|
|
uint64_t qemu_plugin_end_code(void)
|
|
{
|
|
TaskState *ts = get_task_state(current_cpu);
|
|
return ts->info->end_code;
|
|
}
|
|
|
|
uint64_t qemu_plugin_entry_code(void)
|
|
{
|
|
TaskState *ts = get_task_state(current_cpu);
|
|
return ts->info->entry;
|
|
}
|