As we move towards a more modular build this series converts both loader and api to build once objects. For both objects the only real difference is between user mode and system emulation so those bits have been hived off into those source sets.
The remaining core plugin is more intimately aligned with the TCG backend so requires definitions like TCG_TARGET_LONG. Hopefully this can been cleaned up once Richards TCG rationalisation code is added. Please review. Alex. Alex Bennée (10): plugins/api: use tcg_ctx to get TARGET_PAGE_MASK plugins/loader: populate target_name with target_name() include/qemu: plugin-memory.h doesn't need cpu-defs.h plugins/api: clean-up the includes plugins/plugin.h: include queue.h plugins/loader: compile loader only once plugins/api: split out binary path/start/end/entry code plugins/api: split out the vaddr/hwaddr helpers plugins/api: split out time control helpers plugins/api: build only once include/qemu/plugin-memory.h | 1 - plugins/plugin.h | 7 ++ linux-user/plugin-api.c | 43 +++++++++ plugins/api-system.c | 131 +++++++++++++++++++++++++++ plugins/api-user.c | 57 ++++++++++++ plugins/api.c | 170 +---------------------------------- plugins/loader.c | 15 +--- plugins/system.c | 24 +++++ plugins/user.c | 19 ++++ linux-user/meson.build | 1 + plugins/meson.build | 8 +- 11 files changed, 292 insertions(+), 184 deletions(-) create mode 100644 linux-user/plugin-api.c create mode 100644 plugins/api-system.c create mode 100644 plugins/api-user.c create mode 100644 plugins/system.c create mode 100644 plugins/user.c -- 2.39.5