qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] semihosting: Reduce target specific code
@ 2025-01-03 17:10 Philippe Mathieu-Daudé
  2025-01-03 17:10 ` [PATCH 1/5] semihosting/syscalls: Include missing 'exec/cpu-defs.h' header Philippe Mathieu-Daudé
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2025-01-03 17:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Pierrick Bouvier, Alistair Francis, Kito Cheng, Richard Henderson,
	Keith Packard, Daniel Henrique Barboza, Alex Bennée,
	Thomas Huth, Philippe Mathieu-Daudé

This series makes semihosting config.c and console.c
target agnostic, building them once, removing symbol
collision of the following functions in the single
binary:

 - qemu_semihosting_chardev_init
 - qemu_semihosting_config_options
 - qemu_semihosting_config_opts
 - qemu_semihosting_enable
 - semihosting_arg_fallback
 - semihosting_enabled
 - semihosting_get_argc
 - semihosting_get_target

This function is still problematic, being built for
each target:

 - qemu_semihosting_guestfd_init

Note, it depends on CONFIG_ARM_COMPATIBLE_SEMIHOSTING
which is target specific, so doesn't scale in a
heterogeneous setup like the ZynqMP machine, having
ARM cores with CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y and
MicroBlaze ones with CONFIG_ARM_COMPATIBLE_SEMIHOSTING=n.

I suppose the semihosting API needs rework to consider
the CPUClass? I'll let that investigation for the
maintainer ;)

Regards,

Phil.

Philippe Mathieu-Daudé (5):
  semihosting/syscalls: Include missing 'exec/cpu-defs.h' header
  semihosting/uaccess: Include missing 'exec/cpu-all.h' header
  semihosting/arm-compat: Include missing 'cpu.h' header
  semihosting/console: Avoid including 'cpu.h'
  semihosting/meson: Build config.o and console.o once

 include/semihosting/console.h  | 2 --
 include/semihosting/syscalls.h | 1 +
 semihosting/arm-compat-semi.c  | 1 +
 semihosting/console.c          | 3 ++-
 semihosting/uaccess.c          | 1 +
 semihosting/meson.build        | 9 ++++++---
 6 files changed, 11 insertions(+), 6 deletions(-)

-- 
2.47.1



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-01-09 11:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-03 17:10 [PATCH 0/5] semihosting: Reduce target specific code Philippe Mathieu-Daudé
2025-01-03 17:10 ` [PATCH 1/5] semihosting/syscalls: Include missing 'exec/cpu-defs.h' header Philippe Mathieu-Daudé
2025-01-03 17:10 ` [PATCH 2/5] semihosting/uaccess: Include missing 'exec/cpu-all.h' header Philippe Mathieu-Daudé
2025-01-03 17:10 ` [PATCH 3/5] semihosting/arm-compat: Include missing 'cpu.h' header Philippe Mathieu-Daudé
2025-01-03 17:10 ` [PATCH 4/5] semihosting/console: Avoid including 'cpu.h' Philippe Mathieu-Daudé
2025-01-03 17:10 ` [PATCH 5/5] semihosting/meson: Build config.o and console.o once Philippe Mathieu-Daudé
2025-01-06 17:28 ` [PATCH 0/5] semihosting: Reduce target specific code Richard Henderson
2025-01-08 15:26 ` Alex Bennée
2025-01-08 22:53   ` Richard Henderson
2025-01-09 11:12     ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).