Hi Alex,

On 2/25/25 03:08, Alex Bennée wrote:
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


for all the series:
Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>

Additionnally, I would suggest to go further and merge functions for system and user mode, by checking at runtime what is the mode, by introducing a helper function for that. This way, all files can be really linked together, without having to select a different set of sources depending on which binary is built.

Regards,
Pierrick

  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


Reply via email to